Maybe it became a burden to maintain, attracted the wrong users, or got used in ways you didn’t expect.
Would love to hear your experience - good or bad.
Maybe it became a burden to maintain, attracted the wrong users, or got used in ways you didn’t expect.
Would love to hear your experience - good or bad.
69 comments
https://grell.dev/blog/ai_rejection
I’d strongly recommend trying again and reaching out to the friend of a friend who informed you of the role and asking for a more direct intro to the hiring manager. Unfortunately, it’s really really easy to slip through the cracks as a resume, and one feels no remorse rejecting a pdf file. Even without the warm contact, some way of directly reaching the hiring manager (notably: not the recruiters!) would mean that “I wrote that library!@ becomes front-and-center, not buried as a line item. I’ve seen so much more success with myself and the people I know in cold or warm outreach than through job application portals. In fact, I’ve yet to get a callback from a single job I’ve ever applied to online!
As an aside, does anyone know why the AI labs have such bad recruiters? I successfully got a job at one and am currently working there, but I still have many many complaints about the process.
You misinterpreted nothing.
Just look at the background of some of the names in this at these places. As always it’s “who you know and where you’ve been” not “what you know and what you’ve built”
edit: You can downvote if you like, but it doesn’t change the fact that high stakes tech has never been a meritocracy and AI companies are no different.
Nvidia, Apple, Google, OpenAI, Anthropic, xAI, Tesla, Microsoft, Mistral and dozens and dozens of well funded AI startups are just among those with more resources.
Raising money in a gold rush is easy mode. Surviving the market correction will be the hard part.
They're using their own slop generator to handle recruitment.
Sure, they could offer a job as payment for said license, or just pay cash.
This approach would be "necessary" (for some definition of necessary) for GPL code, but isn't necessary for MIT code.
[1] this assumes there's 1 (or nearly 1) copyright owner. If there are multiple contributors, and no CUA in place, this approach is generally not possible.
Personally, and different people have strong feelings on this both ways, with GPL code I'd get contributors to sign a CUA. It keeps the door open for commercial opportunities like this, especially if the code is "mostly yours".
What does it mean to offer a job? Can they offer a job that pays a dollar a year and call it a day? Or can you force them to offer you a job that pays a billion dollars a year?
Can they offer you a job, but only in Antarctica? What about visa sponsorship?
Of course, you can write whatever ill conceived terms you want in your license. But if your license is badly written, any decent company lawyer would strongly advice staying away from your code. And if that's the outcome you want: you might as well open source it with a 'non-commercial use only' license.
That actually doesn't sound so bad. (Designing the job requirements!)
Well, it's similar to having a license that allows the author to decide on the price of the product after the other side has decided to buy it. There just won't be any buyers.
Section 7 of the GPL (version 3) explicitly gives the user the right to remove that additional condition. So if you want it to be effective, you will at the least need to remove section 7 from your copied GPL. Then, you'll need to remove the preamble and instructions to avoid the Free Software Foundation's ire (they're being generous in allowing you to modify the license test at all).
Ultimately, it goes against the spirit of the GPL so much (and against the point of FOSS in general) that it would be entirely unjustifiable to use the GPL as the foundation for such a proprietary, source-available licence.
3 ... profit!
The permaculture ethical principle of “fair share” would apply here, if a group were using those.
If you wouldn't mind reviewing https://news.ycombinator.com/newsguidelines.html and taking the intended spirit of the site more to heart, we'd be grateful.
The guidelines clearly ask us to “be kind” and to not “fulminate”. Your comment was flagged by several community members so there’s a pretty strong consensus that it’s not what we want on HN.
If "be kind" is an actual value of HN I have yet to see it in almost 15 years of being active on this forum. This community is generally speaking not kind and fulminating is de rigeur as far as I've been able to surmise.
But whatever. I won't bother you or anyone else on here anymore. Good riddance.
I'm not advocating in doing it for the exposure as a primary reason. And absolutely not to be paid in exposure. 100% agree with the comic there.
I should not have used that word. It is clearly charged with negativity.
Of course I wish everyone would be compensated for their work. I feel that for some types of project, publishing as open source is a great way for people to find and use it. This can give new opportunities.
Exactly which kind of project and under which conditions is up to debate.
I have worked on a few projects that I regret not being able to open source. Mainly not my choice, stakeholders wanted traditional go to market strategies and failed/ran out of money trying to make sales. I can't help but thinking what other opportunities could have arisen have we chose another strategy.
I made the mistake of also implementing keyboard and mouse monitoring---you know, so I could write automated tests for the input parts!---and over the years it has turned into an endless source of feature requests, bug reports and also general questions about the Python programming language and its ecosystem.
Input events truly are horrible to provide a platform independent abstraction over, but in the end seeing people use it, make YouTube tutorials and discuss it on Stack Overflow make it worth the time spent.
Anthropic would have found a different library or rolled their own, rather than taking that risk. If the library was fundamental, maybe they'd go for a commercial license, but that's usually an option of last resort.
If you have nearly limitless compute to throw at an issue and a good enough model, then it should be able to create enough test cases to cover most aspects of the codebase (iterating thousands of times until it gets it right) and then eventually write a new implementation in a new language or a slightly different tech stack that passes all of the original tests, alongside a few more hundreds of iterations of refactoring.
I give it a decade until large orgs are doing that to avoid licensing restrictions and other liabilities.
Wait, so, if it was a friend-of-a-friend situation, why did you not try to get a referral?
I've stopped applying to the big companies long time ago precisely because I'd never hear back regardless of the match or the credentials (the only exception has been JaneStreet — they contacted me almost right away after a cold application), yet going the referral route, it's relatively easy to get an interview almost anywhere.
(Submit it as a dedicated story here too!)
Everything else I've open-sourced has gone pretty well, comparatively.
But I also find the psychology behind this sort of reply interesting, because there's lots of factors that lead to this sort of extreme.
Firstly, we don't know the age of the replier, but my guess would be someone also young, or at least immature. Telling people to kill themselves is not something adults typically do in any context.)
So it suggests another junior, desperate to prove their own standing, and needing to compete against others rather than collaborate. I've seen this kind of response in one adult (abusive to other forum members) but he clearly had quite severe mental health issues (and the user was banned.) In youngsters it is usually extinguished with firm moderator guidance.
With adult responders, frustration and tedium play a role. Personally I'm more generous with replies in the morning than the evening. At times I almost "fake" patience (when I'm getting impatient) with people who are simply not thinking, and who aren't listening.
Overall it is very imbalanced. The asker is asking 1 question. The replier may answer tens or hundreds in a day. So it's hard to answer each one as if it's original, as if it matters, as if you've not heard it a million times before (especially if it's right there in the FAQ.)
Part of answering well, and the quality of any forum, is in participants answering well, even if the question is trivial.
We all were newbies once. Asking stupid questions is how we grew from there. Answering stupid questions is how we pay it forward.
Linux is, just like most of successful open source projects, a resource pool. Without corporate code donations and support it would be just another hobby OS, and his personal contribution to success of Linux is negligible.
Linus just got lucky with timing and license, and that is pretty much the extent of his personal contribution.
Which begs the question, why exactly the community has tolerated him for so long?
It’s pretty typical of the alpha-nerd type who derives a ton of their self worth from superiority in some arcane area.
I'm writing such harsh words when I expect 0 improvement from the company but I hope at least to make the customer support person reconsider their life choices and quit the evil company
One of my suggestions was that they include hash tables, rather than rely on records (linked lists with named key). Got flamed as ignorant, and I've never emailed that mailing list again. A while later, they ended up adding hash tables to the language.
(The main example of these people was a guy named Erik Naggum, but a few still exist somewhere out there and I met one on a programming reddit yesterday. You can spot them because they won't stop telling you how great Lisp Machines are, can't explain why nobody uses them, and for some reason they insist on calling JavaScript "ECMAScript".)
That said, I also remember that codes of conduct were popularized about a decade ago by someone who was then fired from GitHub for harassing junior programmers (she claimed this was "mentoring" and seemed mentally incapable of noticing something could be wrong with her behavior.) So it seemed like an obvious case of reputation laundering at the time.
Agreed.
> You couldn't ask them for help with anything without them calling you a moron who should kill yourself.
Never got that, though. I hung out on comp.lang.lisp back in the day.
I recall once, writing a small utility to read a file in /etc/ and do $SOMETHING based on the settings therein. I asked about the best way to read ini/config files; did not mention /etc.
I got flamed for not storing my configs in s-expr and simply using the builtin reader ... needless to say I was never going to switch all the files in /etc to s-expressions.
Not trolls, people who didn't let words hurt their fee-fees. See Linus's response where he literally told someone to kill themselves.
It was a better time.
Still, I really don't think most people need to be told not to tell other people to kill themselves, and in many places where I hung out when I was younger I strongly believe you would have been tempbanned for "flaming". I was a forum moderator and I can tell you I would not have hesitated.
But you said the magic words, so it bears addressing; I think we all get the picture that the Code of Conduct drama usually doesn't have much to do with the actual rules that are contained within, which really aren't that controversial on their face, but rather the way in which power is moved from stakeholders within a project to other people by virtue of initiatives like establishing Code of Conducts and the governance structures that enforce them. And, I think most people will probably not get upset over the idea that telling someone else to go kill themselves might get you suspended from a discussion forum... Rather, the drama comes in when you see the reach of a project or organization's CoC start to extend outward past what people actually want to stop (toxic, unproductive communication) and past the edges of the project (and into policing the rest of the Internet.) Two notable examples I'd cite are Python with Tim Peters (who as far as anyone can tell genuinely didn't do anything wrong) and Freedesktop.org with Vaxry (who can be a bit immature, but is primarily accused of not moderating the Hyprland Discord... Which is a fair complaint about the Hyprland Discord, but not a very good reason for him to be banned from Freedesktop.org.)
Of course, truthfully, there is no 100% winning answer here; if the stakeholders who have control over a project by virtue of being the original developers don't want to cede any control to people for CoC enforcement, they don't really have to (although in reality, external pressures to implement one might make it an untenable position to hold.) In that case, you have to rely on those people to hold themselves accountable to reasonable conduct, and nobody's perfect. It's kind of like when police departments conduct internal investigations and find no problems; even if you're pretty pro-police, you must feel somewhat skeptical that they actually were reasonably impartial in conducting said investigation.
But, I generally side with The Evil I Know, which is that the project authors and biggest stakeholders should generally maintain most of the power and control in an open source project including the ultimate decisions regarding moderation. In cases where developers have proven particularly egregious with their conduct, forking has proven to be effective enough as a mitigation strategy, and the fact that it comes at a cost is a sort of feature, as it's better if a power shift like that isn't easy; while I can't guarantee that the original authors and maintainers of a project will act reasonably and impartially, I can at least say that I expect them to have the project's best interests at heart, whereas the kinds of people that go around looking for established projects and organizations to join roles that have authority tend to not be the kinds of people you usually want in those roles. Having it be difficult means you need people who genuinely care about the project rather than the types of people who just kind of seek power. (And I am sorry, but there are fuckloads of those people among us and they are absolutely dirty enough to hide under the guise of anything to get a modicum of control. Running an online community for any appreciable amount of time opens your eyes to this IMO.)
All of this to say, it reflects poorly on the state of the Internet at the time and KDE's mailing lists that the situation happened and was possibly not rectified in a way that is satisfactory (it sure doesn't sound like it.) The correct thing to do is obviously to issue a ban, and you don't need a rule book of any kind to figure that out. I think when people push for these things during major incidents, it's misguided at best, because usually the core problem was not that a "don't tell people to kill each other" rule didn't exist, but that people actually would've needed such a rule to decide the behavior was unacceptable in the first place. This isn't some complex gray area case. I don't think people are acting in bad faith when they suggest it as an option after a drama incident, but I still think it's the wrong knee jerk 99% of the time.
(The most favorable thing I can say is that I think a CoC might possibly have value in very large projects like Linux or Kubernetes, but so far the execution has always felt like it leaves something to be desired. Seeing people occasionally openly threaten to contact the CoC committees over effectively technical disagreements leaves a bad taste in my mouth.)
Some communities are xenophobic =3
My friend kept locking himself out of root and would be forced to single user the system to recover. This was difficult for many reasons, including remote hands costing up to and including $50 per call. I decided to look into why su would only work with root. Found a very simple check that I thought was unreasonable. Made my first patch and proudly posted to the FreeBSD mailing list thinking I was going to change the world. Man, instead I come back to everyone chewing me a new one, calling my friend too dumb to use FreeBSD, and other things that was not rooted in reality. I didn’t even try to defend my patch, I had spent so much time evangelizing FreeBSD up to that point that it really made me question my support of the project.
Anyway fast forward like 5 years, I was telling the story to coworkers when I decided to look up the su source. shocked-pikachu someone took my patch and applied it (without attribution). I have since moved on from FreeBSD entirely and my open sourced works have never been so negatively picked apart again ¯\_(ツ)_/¯
I'd be more than happy to put you in touch - email address in my profile if you're interested.
I will still reach out because BSD dev was a small community back then and we have probably crossed paths!
Like, if your installation has useful services running on it, it should not also have a customized kernel and it probably shouldn't have a C compiler installed at all. What it should have is backups and a way to stage/test/revert config changes instead of just making them on prod. It… does not do this.
IME if you bring this up you'll just get a hundred complaints from people saying "I built a system to do this out of poudriere and duct tape so it's fine". I guess because the people who know about declarative programming all use Docker.
Which is a perfectly legitimate opinion to hold. "Cattle, not pets" is an opinion about best practices, not a religious dogma where those who don't agree must be cast out of the community.
Besides that, I'd say the current approach is just wrong because it's obsolete. FreeBSD sells itself as a "server/embedded OS", but the assumptions are those of basically someone who owns a single computer at home and makes random sysctl tweaks to because they read on a mailing list it was faster. Which is the kind of person who's an OS developer or a small-business/academic sysadmin - basically someone who loves being on the computer in the first place and wants an excuse to spend more time on it.
But they should've realized that was obsolete by the time Google released the SRE book (which has a chapter about how you should never make manual edits), and certainly by the time virtualization and cloud hosting became common.
Of course, many people still do think it's fun to own a computer with a silly name and make random sysctl tweaks to it, so they're not going to like me telling them it should be boring and impossible to do. At least there's Docker and Nix though.
I was confused while reading because I nearly only ever use su to switch to the superuser account and obviously to get root permissions you should be root or else it's a security issue. Looking up what su does on FreeBSD, I was reminded that it can switch to any user. I've actually used that before. You made that? :o
I was told I should just ignore the error messages I was seeing. When I kept asking, some of the most active members started insulting and ridiculing me. Then others started joining in.
The only thing I had in mind was to improve the guide for other people new to arch, that came after me. Instead, I was only insulted and ridiculed. I uninstalled Arch and never did anything with it again. The toxicity of that community still makes me angry today.
When people reminisce about "the old internet" they tend to forget how hostile it was.
Being devils advocate it wasn't common for young people to engage in the activity but harsh and unfair critic was happening often.
It still exists today, but in much smaller scale than back then.
Telling someone to kill themselves is wildly inappropriate and shouldn't have happened to you.
This is a wise conclusion, that I think impacts many people. I know it does impact me. My personal way of going about it was that I was more invested into theoretical, ethical problems instead of my actual life problems that surrounded me. My tech life was vast and colorful, but my real life was barren.
Do I expect praise, kudos, fame, whatever? I do and that happens, I have been hired countless of times because of open-source. Even my friends (!) have been hired because of open-source stuff I wrote and they contributed to.
But the main motivation is internal - I just have to see it take shape. Like a writer who can't resist painting or a writer who can't stop writing.
Do I have regrets still? Yeah because I could have used the time for better things. But that can be said about any hobby.
Long long (2016 ish) ago I released an Unreal Engine 4 plugin that let people embed chromium embedded framework views into the engine via textures, so you could make fancy HUDs or whatever.
Epic Games was kind enough to give me a developer grant for open sourcing and making it, cool as hell for a college student at the time, helped pay my classes.
The number of angry game devs who basically wanted me to solve all their problems for them for free was astounding, additionally another dev grant receiver was jealous that I got money close to their grant for “just making a crappy plugin”
(paraphrasing but that was essentially what happened)
No one is ever thankful lol.
Say you made a plugin that serializes/deserializes to JSON. They making an FPS and the gun doesn't shoot in the correct direction. They'll ask why it's not working in your support area, even though it's got nothing to do with your plugin.
The folks who are in proximity, folks with requests and complaints.
It actually paid few bills in my case! Regards.
After I left I would still receive emails from frustrated users, but I had no access anymore. I could have forked it, but it just seemed too messy. I made some suggestions and wished them luck.
There is a lesson here, somewhere, but mainly it just convinced me to not rock the boat for the next decade, and to seek out smaller companies for employment.
Both of them expressed regret for not commercializing it. The weird part for me, as the interviewer, was hearing them imagine how wealthy they’d be if they had commercialized it instead of releasing it as open source, entirely neglecting the fact that the projects became popular because they were open source.
I imagine this is the thought process behind the various projects that try to go closed-source and commercial after a certain point.
a) sell support contracts
b) have contributors sign copyright agreements, license the project as GPL/AGPL, and then sell commercial licenses for people who can't use that
which seems to be by far the most common
Selling support contracts is actually hard.
GPL/AGPL preclude widespread adoption (these days) — the grandparent explicitly mentioned “permissive” licenses.
They made an open project and let the community contribute to it and adopt it.
They wished it was a business, not a project. A business has support, sales, and higher expectations than the serve-yourself open source projects
„Open source and free*” asterisk for „until I get traction or VC money”.
That’s bait and switch and riding on community good will.
Is free fork enough or people should get paid? Does that project owner hire some of people from community, what about ones left out?
- Mullenweg, or some other hack
I can see why people have these fantasies. Huge businesses have been built on open source code bases.
Many of us spend our lives writing software that has lasting benefit for our employers but our reward is a flat hourly fee.
The place where I disagree with your take is that commercialization and open source popularity are not mutually exclusive at all. The FSF makes this quite clear: open source is 100% compatible with charging money for some kind of service or for the convenience of a binary or something like that.
Software freedom is really about availability of the source code and your right to modify and distribute your modifications, not free as in beer freedom.
Commercializing it doesn’t have to mean bleeding customers dry, it can be something where most people are not paying a dime and are enjoying a fully open source experience. I think nginx plus is a good example of that sort of model. I have never met anyone who pays for nginx but there’s some big companies with big company problems that do.
Another example is Discourse forums. You can pay for support and hosting.
‘Business owner’ in the sense of owning stock, sure.
Save 10–20% of your income. Invest it in index funds (we can argue about which particular indices). Work for a few decades. Retire wealthy.
Then bequeath that wealth to your heirs when you die, giving them a leg up on this whole process.
> Many of us spend our lives writing software that has lasting benefit for our employers but our reward is a flat hourly fee.
The employer takes the risk that the software will have no benefit at all. We get paid no matter what. I like that trade. I’ll invest in a diversified market index rather than my single program, thank you very much.
People working in finance or (in the year 2025) as AI researchers with fantastic signing bonuses for switching to Meta might want to disagree.
Yes, you can argue that while you are working, you are a slave to the wage. Maybe.
But don't tell me that when you retire with tens of millions in your thirties (if you play your cards right!), you are a slave any more.
> [...] that people tend to get so wrapped up in them they forget to free themselves from it.
Eh, how is that different from going into business by yourself?
Pedantically, there is unlikely to be a wage. But even if we use the term loosely, the type of scalable business described usually do not make any money until it is sold, so you are effectively forced out as soon as it is possible.
A highly paid wage slave may technically be able to leave just as quickly, but in practice the golden handcuffs are often very strong. It is telling that the phrase used was "People working in finance" rather than "People who briefly worked in finance".
There's plenty of companies that offer stock compensation. You may have to move to work for them, of course.
That said, the flat hourly fee may be a better deal. If you take a % of the profits, those profits may be negative!
Obsidian also has a rich plugin ecosystem with lots of open source plugins that are available and serve the same purpose (and you can use gdrive, dropbox, etc too).
It makes sense to me that they released a proprietary privacy and security focused plugin (that is their core business) and they don't want other plugins to be able to arbitrarily change the server that their plugin is pointed at.
Suppose they have a government customer who is using Obsidian Sync and the sync URL can be changed easily via configuration changes -- now the customer believes they are using Obsidian Sync, but actually their data is going somewhere else.
I don't think you would be surprised to find that e.g. a dropbox daemon has protections to make sure it is pointing at dropbox.com. Why would you expect Obsidian to be different?
(disclaimer: I work on a different plugin that adds file sync and collaboration features to Obsidian)
When I tried to copy my vault off iCloud, the copy failed and two years of notes were permanently lost.
I’m never putting anything of value in iCloud again.
I tried this on a windows laptop and another main machine. I just ended up keeping my iPad nearby.
The ipad is the real stick in the mud and I don't want to deal with an icloud staging zone for everything else, or try to get icloud syncing on linux/android.
For that, I use Syncthing [1] in addition to iCloud. It works exceptionally well – I see my edits in real time across different devices.
[1] https://syncthing.net/
As a free software enthusiast, this screams "don't invest time in closed ecosystems".
And then I saw that maintainer not just ignores but closes every else PR with these words:
> your contributions are too undisciplined and difficult to review. please just make sure there are issues filed for the problems and let a core team member or other contributor solve it. [1]
I have directly asked maintainers to merge at least one PR [2], because I see someone is in the middle of refactoring whole backend, but got ignored.
I have rage closed all my contributions and made most of my projects private. I think I will never go open ever again.
[1]: https://github.com/ziglang/zig/pull/21426#issuecomment-30823...
[2]: https://github.com/ziglang/zig/pull/24317
First off you're allowed some self deprecating humor. Second where did you pull that quote?
Maintainer had a year to review the PR. It's obvious they want to solve it their way. Perhaps the maintainers wanted smaller PRs. Perhaps the maintainers got spooked by vibe coder. Still no reason to treat even an LLM that badly. I'm no saint, but I closed worse PRs with less hostility.
Two deleted messages on ZSF had this content:
> SPIR-V at master is still broken. I tried to help Zig. But PR never gets merged. I had to update it 3 times. It lasted for a month. I have updated all SPIR-V dependencies. You don't care about SPIR-V anyway, why I was threatened this way?
> Sorry for my contributions.
I was really disappointed when I wrote this, and I thought that nobody should see this to not harm maintainers and the project itself, so I deleted them. Then I got banned on Zulip without a reason.
I just wanted to make Zig closer to 1.0 release.
[3]: https://zsf.zulipchat.com/#narrow/channel/454360-compiler/to...
Great suggestion to make in advance placeholders to contain side projects.
In what ways do you trust, and not trust, your colleagues?
How do you feel about that?
The better question is in what ways do you trust, and not trust, the company you work for?
And the answer to that can be very complicated, and depend on the company a great deal. It also depends on who might buy the company in the future, and they might not be trustworthy at all.
Where does the workplace dishonesty start and end?
Does the person think that their colleagues have the same rules, or different rules?
How does that affect their work environment?
(Incidentally, I'm sick of HN downvoting legitimate comments.)
And furthermore, as an employee end of the day it's your right to have to be look out for yourself. You probably don't realize that because you're infected with startupitis where everyone has to be all in to succeed.
However, employees work in a company with other people, so we'd like to know what we can and can't trust from each other.
If a colleague engages in criminal fraud, do they have a rigorous philosophy about when and when not to do that? How do they behave towards the team? Is defrauding the company OK, over something they think they company shouldn't demand anyway, but they will still be honest and responsible towards their teammates? That would be very good to know.
If so many people weren't so anxious to downvote things that don't suit their kneejerk reactions, we could discuss this.
In short: it's complicated. Nobody minds about the technically "criminal fraud" when somebody brings home a couple dollars' worth of office supplies for private use. Everybody agrees that embezzling a million dollars should send you to jail. Meanwhile, something like grabbing a second lunch from the free company cafeteria and taking it home to eat as dinner will result in a lot of disagreement as to how bad that really is. But it also probably doesn't have a whole lot to do with whether you can trust that person's code reviews, because people are multifaceted and use different moral standards in different areas.
> so we'd like to know what we can and can't trust from each other.
Alas, we can't know. There are the things that are obviously fine, the things that are obviously not, and a GIGANTIC gray area in the middle which nobody is going to agree on, and companies will try to make policies that will always go too far in some parts and employees will always evade some of the policies they think are bad or unimportant.
And I think that when a company has a bad policy of overreaching in trying to claim ownership over things you do on your own time, and employees respond by falsely claiming that something they made predated their employment, that it's a fascinating example of that gray area.
I think the question you're really asking is whether or not they can be trusted down the line so that the system 'works'.
So here's the thing: You can never have a 100% guaranteed trust that someone is going to be doing as the company wills and wishes them to be, even if you have a written contract, and even if you shove a bunch of extra rules in it.
When it comes down to it, people will always have to look out for their best interests eventually, and having extra unneeded rules will push them to think transactionally, system and morals be damned. So the solution would be to treat them well enough to not have them think about it in the first place.
How do you feel about torrenting?
If workplaces are going to invent dumb rules, then honest hardworking employees are going to feel justifying in working around them.
Nobody is entirely honest to everyone about everything in their workplace. You really think everyone is actually sick on every single sick day, or that every single doctor's appointment on their calendar is a real doctor's appointment? People never make excuses to their manager that are lies? Managers never lie to their employees about a justification or a deadline or a promise or a policy?
Workplace dishonesty is everywhere. Because workplaces are made of human beings. It's just something you learn to manage in a realistic way. People are mostly honest, but they're never entirely honest.
That's 100% true, and lamentable. But two wrongs don't make a right. And while one can't control the company's behavior, a person can control their own behavior. As such, it is perfectly reasonable to criticize them when they choose to act without integrity.
That leads to a society where people are punished and corporations are not, simply because they are too big to be criticised.
Much more often than people, large and publicly quoted corporations end up becoming inherently evil.
The total self-serving lies made by individuals will always be a drop in the ocean when compared to the self-serving lies of a single S&P500.
They're both wrong, but the real issue here is to start by criticizing and correcting the corporations, not the people. Once it feels like a drop in a glass of water, we can start thinking of criticizing the people.
...I.....used to. Huh.
There aren't usually a whole lot of other legitimate-sounding reasons for why you'll be out of the office for a 3- or 4-hour chunk...
Sure, a company could not like you doing that and find a reason to fire you, but they have no valid legal recourse and you may even be able to sue them for wrongful termination.
We are one of the only states that prevents employers from having ownership of your brain on personal time.
Corpos have tried to claim ownership of things I did in my personal time, multiple times. I just show them this law and they back down immediately.
Having rights to my own brain is a big reason I live in California, cost of living be damned.
https://california.public.law/codes/labor_code_section_2870
IANAL, but know your rights!
> (1)Relate at the time of conception or reduction to practice of the invention to the employer’s business, or actual or demonstrably anticipated research or development of the employer;
So, if you work at $BIGCO, they will argue that since they have their fingers in everything, that anything you might work on "relates" to their business or actual or demonstrably anticipated R&D. This is a truck-sized loophole.
There is not a paycheck big enough to make me give up the freedom to do whatever I want with my personal engineering time.
I have only worked for employers that do just one thing, so this law offers me lots of protection.
The short version is, what do you know, if you make it easy for smart people to start new companies for their big ideas, they’ll do it. And if you don’t? You don’t become a tech hub, no matter what else you’re doing.
I was once advised to take a vacation to California every year and do all my thinking then. But I hate wasting fuel, and it'd be so much more fun to say "this little park in the middle of Detroit is actually California soil", and just walk down there every few weeks with my notepad, and ponder what problems need solving and how.
Something something the idea must have come from something they saw at work, obviously.
I've had experience with a similar "committee" (probably same company) and I concluded the safest path is to just not do side projects while employed with BigTech.
That can be difficult when you work for a company that has it's fingers in almost everything.
That's why so many repos say "Not an official Google product." That's the boilerplate of someone's side project that got open sourced, but Google wanted to claim copyright.
I tried to re-license a previously-released project (like from GPL to MIT or similar) and they wouldn't budge. I had written all the code.
In the end, I decided that them suing (or firing) me to assert their ownership of $VALUELESS_PROJECT, so they could then license it back, was ridiculously unlikely, said fuck it, and did it. And I was right.
I have open sourced it and shared it on a few places and got zero traction. Ok, I thought, I can talk about it here and there, so it would get more visibility. People don't like it much since I'm promoting my own tool. I posted a blog post about some technique on tool's website and people seemed to like it on Reddit. A few people wrote comments like "interesting" or "amazing" and I was happy for the first time. Then someone wrote that you should not make your friends/alt-accounts comment on your posts, it's cringe and that happiness went away.
I've been a lurker on social media nearly whole my life. Putting myself out there feels like an unpleasant experience. I'm still deciding whether to continue or just go back to lurking and keep my tool to myself.
I'd be inclined to suggest not to let the 1% annoying people spoil it for everyone else if you can help it.
Most people know to see through and recognize these annoying people and their toxic comments and know to appreciate the good work.
Sharing your work as open source is still an amazing thing to do despite the annoying vocal minority and many people appreciate it even if they don't say much.
Of course, your own sanity and health is the most important thing.
Thanks for having shared your work as open source until now and good luck for the future, whatever path you end up choosing.
Also: write your open source stuff for yourself. Share it but don't wait for validation. That's bonus but your motivation should come from inside. IMHO.
> (…)
> Then someone wrote that you should not make your friends/alt-accounts comment on your posts, it's cringe and that happiness went away.
Respectfully, if you’re that easily discouraged you should not in any way attempt to “create a community”. Having a popular open-source project isn’t glamorous, it’s extra work for you. It’s entitled users making demands and opening crappy bug reports, punctuated by the occasional decent contributor and even rarer exceptional one.
Make your tool available and let it be. Mention it only when relevant, and even then think twice. Make it clear the tool is for yourself and you may accommodate respectful requests which make sense for your vision of the project, but make no promises. Do what’s enjoyable, don’t try to chase fame and notoriety.
A middle way might be to do like some people and use a license that allows only viewing the code for some months/years and then allows all the normal software freedoms after that time. In the meantime, you get to work on it and keep yourself ahead of any copies that would need to work off of old versions, but if you get hit by a bus or for other reasons abandon it, it's automatically open sourced. I kinda like that mechanism because there's so much abandonware where it would have been really cool to have this. Though, if it's a serious concern that someone copies it like this, it might be a lot of pressure unless the source-available time is very long
Even though the README links to live tests (browser JS libs), the person submitting the PR rarely includes tests so that's one issue. Sure I can say "I'll be happy to accept this if you could please add some tests?" but then that leads to the 2nd issue. PRs are rarely quality PRs and if I want to add the feature I end up having to re-write whatever they were trying to add from scratch.
I know people are claiming LLMs will make things worse for many projects but an LLM can likely at least read what's there and try to make things that follow the conventions?
I also know I'm under no obligation to accept any PRs. It's not that easy to say no for me, depending on the ask.
[ ] Added unit tests
[ ] Included a screenshot of the code working (this helps reviews go faster)
But a few people have reported certain fundamental problems with my approaches or have otherwise put in a significant amount of work to debug and fix issues, and they've been extremely helpful and I can only hope I'll get more of them in the future.
Around 2005-6 I wrote a Mac OS X client for Xbox Live. The idea was I wanted notifications on my computer when my friends came online and started to play certain games, so I could turn on my Xbox and join them. This is a feature of the Xbox mobile app today of course, but back then all you could do was either be on the Xbox or sit around refreshing a web page, so the app was useful. I published the source and the binaries on Google Code, partly because I just wanted to share the app for free, and partly because I wanted to be transparent that I was handling the Xbox login credentials safely.
One day the app blew up and got a lot of coverage in tech news and link aggregators (like Digg, haha) and I suddenly had a ton of users. Eventually I figured out why. It wasn't that my app was so great exactly, but rather the idea that Google was writing a Mac client for Xbox made a great tech news story. However, that part of the story wasn't true, the project had nothing to do with Google, I was just hosting it on Google Code because it was at the time the most convenient place for a small open source project.
The episode made me wonder how often that happened. How many other projects on Google Code became part of a news cycle because people misinterpreted them as being written or endorsed by Google? Was that part of why Google Code was shut down?
I don't remember the exact details, and I was way in the backend (Kythe), not the frontend part of it. But my extremely hazy recollection is it probably had more to do with the gwt deprecation than anything else. There was headcount for awhile put on making an angular (?) replacement for the old gwt frontend, and I guess that didn't extend to also making a replacement for Google code.
Again, super fuzzy recollection here, from someone 2 teams away.
I thought it sounded pretty plausible for that era of Google.
my works had one condition: attribution
now it's all been slopped up by "AI", without attribution, primarily to devalue the labour of software developers
It remains an open question on who's responsibility it is to not distribute infringing AI works. The developer or the the user of the AI. Legally it is unclear due to a lack of cases providing precedent in such a new situation. Morally I think AI developers do consider it a duty to reduce such behaviour to a minimum, but also believe that the benefits of the AI are significant enough that it would be unreasonable to block access to them because of the existence of failure modes.
When it comes to being "slopped up" which is a weird phrasing in itself, but I gather you are trying to repurpose the term "slop" to add additional pejorative tone to you words. I'm not really a fan of 'slop' as a term for AI output because it is used specifically as a term for AI output. Should it be used as a blanket term for low effort, mass generated content it would be reasonable, but when it seems to apply specifically to AI it carries the implication of prejudice. Choosing to move it to a verb describing input removes all of the meaningful aspect of the term leaving only the prejudice. Just go with "slurped up"
That brings us to what training actually is, Reading. There is no requirement for attribution to read something. There is no requirement for attribution to learn from something. The restrictions on reproduction are there in recognition of your work representing the ideas. The ideas themselves are not copyrightable, This is widely recognised legally and morally. Scholars have written volumes on why this should be the case and how bad it would be if the alternative, a world where people could own ideas themselves, were true. Imagine the wealth imbalance that exist in today's world, now extend that imbalance from money to the very ideas that you use to express yourself.
AI should not reproduce your work by terms you have not agreed to. You have a valid complaint when it does that. My concern is that people appear to be extending their claims to suggest that they control the right to be learned from. That is not true, right, or moral.
I do not regret making their source available for people to learn from and extend. I'm not even mad they're making money. I just would have liked, in hindsight, to have used a license that guaranteed me some iota of credit in the finished product. Particularly in things where I built the entire finished product - that is to say applications, not libraries.
MIT is fine and good for libraries, but full blown tools where I built the actual UI, and people aren't even extending it but are just re-hosting it and in some cases claiming they created it? I should have used something else.
I wrote a post about it that got picked up by certain types and used as an argument against open source generally. That interpretation is almost as frustrating as the situation with the licenses, and isn't what I was attempting to say at all!
I love open source, I love the MIT license. I just think it makes more sense for me to use on libraries than finished applications.
https://donatstudios.com/License-Grumbles
https://news.ycombinator.com/item?id=39413562
Even if you had made it AGPL, people deliberately violate that all the time, and usually the only recourse is enforcement through costly lawsuits.
It made me feel maybe magicians had something, when they decided some knowledge should be esoteric and earned, given that it was so trivial I never listed it on my CV.
I think infosec, as a field, sometimes darts between too much obscurity and too much openness.
In general, the new ML sploit-bots can fuzz and inject faster than any person.
Meh, most issues are from the consumer architecture being deployed in industrial settings. Most modern Intel/AMD PC come with side-channel hardware RATs from the factory. =3
I certainly keep my own "grimoire" of useful code.
Most notably, I published a little browser extension I created to scratch a personal itch. It got a little bit of attention and users, and then the feature requests started coming. Among a couple reasonable ideas were big demands like make it work on different platforms, make it integrate with other sites, or make it work entirely differently. And unhelpful bug reports that often didn't even make sense.
Not one of them ever contributed to the repo, and many of them were ungracious and demanding in nature. Fortunately nothing outright hostile, but it still left a sour taste in my mouth for daring to share a neat personal project as-is.
About six months later someone took my code, removed my name from it, made some small changes that didn't change its behavior at all, and re-published it. By that time I had moved on and wasn't aware that it had started to take off.
The man page now has someone else's name on it as author. I don't really regret publishing it but I wish I had put a copyright notice and license on it.
I believe it was the single most important decision we took as a company and probably also contributed to a large part to the growth and success we are having now. It enables us to build a really strong community, and also differentiate ourselves clearly from other manufacturers that are all pretty much only offering proprietary solutions.
But I think people need to be aware that by open sourcing, they put the company on a different trajectory. For example you are basically making yourself a lot less attractive for VCs.
When I see how much other companies can get investments that help them grow faster and make more impact is the only times when I sometimes wonder if other models might have been a better option?
[1] https://www.airgradient.com/documentation/overview/
Fully agreed. FOSS maintainers don't owe you anything. You can ask for whatever you want, politely, but accept no or "maybe when I have the spoons, which may be never" as an answer, and don't push.
Maybe insert a few more rights here, like "modify"?
I don’t regret open-sourcing this project but god as your project becomes popular bad apples start joining and ruining the party for everyone. Fortunately it’s only a tiny minority, but it’s what stays the most on your mind.
I had death threats once for raising a github issue!
On the other hand I open sourced my blog and received lots of small contributions to fix typos or such which were nice.
https://bootstrappable.org/projects/jvm-languages.html
It's hilarious, especially their UI team that only follow trends but still know better than their users.
It kinda matters if you build something as a proof of concept, or you build it to exercise some new technique, or you build it to improve the state of the art, or you build it as the foundation for a product etc.
You wrote it "for fun". That's an excellent reason to write something. I can appreciate your effort in that context. It's going to have rough edges etc. And when it's not fun anymore you move on.
Someone else might write the same thing, but for a different reason. Maybe they want a "better Kotlin compiler". They intend to make it perfect, build a product around it and so on. This sort of project encourages a different level of scrutiny than something fun.
So giving context to a project helps attract the right kind of attention. And more importantly the right kind of other-peoples-time.
But yeah, asking like that is not terribly polite.
Just because they take issue with the wording doesn't mean that they don't have an aswer for that question. Also, that is an awful entry point for a discussion about the purpose of the project.
Then I accidentally wiped the database powering my blog, lost all the content, and had loads of people asking me to rewrite them all. Most people were polite, but there were a lot of pushy and entitled people as well... It's a bit of a shame because it was by far the most popular thing I ever did, and they ended up being a massive pain and regret
Here's a template: https://library.georgetown.edu/copyright/dmca-takedown
This is literally why i think AI coding cant touch dev jobs.
In theory you can code LOADS of projects. Want a panel widget on your desktop environment, dont even know what language its in? ask ai to produce it.
but when you have open source projects, people from all over the world bring their requests and problems to you. Some are great to just merge, others you have no clue what they are doing wrong but it's totally them; and you get paid in github stars? Now there's a bunch of open source projects that are just working for me every day, but i havent modified in years and they look stagnant.
but even in the non-open source realm, no dev wants to forever maintain a project. Its not a regret, just 1 dev can probably only be responsible for a handful of codebases/projects and ai coding isnt going to super expand this.
Albeit I'm sure that most would likely not be willing to pay to have their code reviewed and accepted in a project; but on another hand, if I wanted to contribute to GNUCash and I didn't want to read the manual, or I found the manual hard to understand, it would be like paying for training. So it can in certain cases be win-win.
And if it is a feature that is wanted, then there's no worry about it being reviewed. Or having to pay because the value will be obvious to the creators who will take it on.
In other words: Pay the developer/maintainer to care about the feature you want.
Has this ever been attempted and successful?
or ask for a donation. i am maintaining this in my free time. unfortunately i also need to work for a living. if you can contribute something then i'll have more time to work on this. if you need an invoice, i can provide you with one.
i am actually working on a project right now where i want to do this.
The big issue with this, even if it works perfectly every time, is that there is no one at the core of the project with some vision and taste, who is willing to say “no” to bad ideas or things outside the scope of the project. We’d end up seeing a lot of bloat over time. I’m sure AI will claim to solve that too, just have it code up a new lightweight project. The project sprawl will be endless.
Why would any user ever care about the scope of the project or how you feel about their ideas? If they want your open source software to also play MP3s and read their email they'll just ask an AI to take your code and add the features they want. It doesn't impact anyone else using your software. What you'll probably have though are a bunch of copies of your code with various changes made (some of them might even have already been available as options, but people would rather ask AI to rewrite your software than read your docs) some listed as forks and others not mentioning you or the name of your software at all.
Most people aren't going to bother sharing the changes they made to your code with anyone but eventually you'll have people reporting bugs for weird versions of the software AI screwed up.
Hopefully you get how this is analogous.
That can literally be a system prompt.
"Here are the core principles of this project [...]. Here is some literature (updated monthly?). Project aims to help in x area, but not sprawl in other areas. Address every issue/PR based on a careful read of the core principles. Blah blah. Use top5 most active users on github as a voting group if score is close to threshold or you can't make an objective judgement based on what you conclude. Blah blah."
Current models are really close to being able to do this, if not fully capable already. Sure, exceptions will happen, but this seems reasonable, no?
1. A project exists
2. A user forks the project
3. A user writes a feature request
4. The AI codes up the changes and puts it into the fork
5. The original project is left untouched
unless i keep using it myself.
https://en.wikipedia.org/wiki/John_Carmack#:~:text=The%20sou...
The author was on the core team for another project in that space (I think busybox). He saw first hand how copyleft sounds good but ends up being lots of friction with no practical benefit, and vowed to public domain all his projects after that. BSD0 is him giving a name to a public domain grant so OSS people could recognize it.
https://lwn.net/Articles/202120/
https://lists.debian.org/debian-user/1999/04/msg00623.html
https://geekz.co.uk/lovesraymond/archive/bruce-perens-dead
https://geekz.co.uk/lovesraymond/archive/terrorismistic
A couple illustrative ESR quotes:
"A clash of civilizations driven by the failure of Islamic/Arab culture (though I would stress the problem of the Islamic commandment to jihad more than he does). I think he [Steven den Beste] is also right to say that our long-term objective must be to break, crush and eventually destroy this culture, because we can't live on the same planet with people who both carry those memes and have access to weapons of mass destruction. They will hate us and seek to destroy us not for what we've done but for what we are." -Eric S Raymond
"And for any agents or proxy of the regime interested in asking me questions face to face, I’ve got some bullets slathered in pork fat to make you feel extra special welcome." -Eric S Raymond
That said, one highly successful proven fundraising technique which could be applied to funding open source projects is asking people to pay you money to stop posting ESR quotes.
https://en.wikipedia.org/wiki/Eric_S._Raymond#Political_beli...
>A progressive campaign, "The Great Slate", was successful in raising funds for candidates in part by asking for contributions from tech workers in return for not posting similar quotes by Raymond. Matasano Security employee and Great Slate fundraiser Thomas Ptacek said, "I've been torturing Twitter with lurid Eric S. Raymond quotes for years. Every time I do, 20 people beg me to stop." It is estimated that, as of March 2018, over $30,000 has been raised in this way.
https://web.archive.org/web/20180623004904/https://www.theve...
>Robust campaign infrastructures need money. Ceglowski and the DCCC are, at the very least, in agreement about that. So the Great Slate, in other words, is a logical proposition, an invitation to left-leaning monied techies to invest in candidates that might not otherwise have a chance. It’s a proposal that’s been met with enthusiasm by progressives in Silicon Valley, particularly by those who resent how their industry is represented by the likes of Eric S. Raymond, Peter Thiel, and more recently, James Damore.
>Ceglowski picked candidates in Republican-leaning, economically-strained districts that he thought had a chance to flip in favor of a local populist, progressive candidate In the first quarter of 2018 alone, the Great Slate has raised over $140,000, primarily through word of mouth on the internet. The donors I spoke to seemed to give mostly in amounts of hundreds, sometimes less. A good chunk of that was driven by security researcher Thomas Ptacek’s promise to stop tweeting about Eric S. Raymond, a notorious figure in the open-source community whose bizarre and abundant ramblings on everything including race and sex could be considered early forerunners of current alt-right strains in the tech community.
>Raymond, popularly known as ESR, is a “philosophical leader of open source” who has long been pilloried for his controversial views — statements like “Gays experimented with unfettered promiscuity in the 1970s and got AIDS as a consequence” or “Police who react to a random black male behaving suspiciously who might be in the critical age range as though he is an near-imminent lethal threat, are being rational, not racist.”
>“I’ve been torturing Twitter with lurid Eric S. Raymond quotes for years,” says Thomas Ptacek. “Every time I do, 20 people beg me to stop.” So Ptacek held his followers hostage: pay up, or the ESR quotes would keep coming. It’s estimated that Ptacek has driven somewhere around $30,000, just by threatening to post eye-searing screencaps.
>“ESR is a talentless hack whose reputation is entirely built on self promotion and being in the right place at the right time. His attempts to define the culture that gave him everything he has have been repugnant,” says Matthew Garrett, a security engineer at Google who donated to the Great Slate. “So am I enthusiastic about performatively associating these things together in a way that also says fuck you to his political views? Yes, yes I am.”
>Many donors I spoke to were long-time critics of ESR who were amused by the ESR drive, but all were serious about the basic mission of the Great Slate. “These two things don’t seem related, but in a way they are,” said donor Kate McKinley, a information security professional in San Francisco. The ESR drive is a reflection of the culture war inside tech, an insular battle that means little to the candidates who are now reaping a windfall because of it.
https://youtu.be/MkJkyMuBm3g?si=8OfCdRmS2kmGjIbx
https://blog.getpaint.net/2009/11/06/a-new-license-for-paint...
I strongly believe in the principles of OSS for things like frameworks and tools that everyone in the community can benefit from. But, when it comes to extremely complex end products like Word, Photoshop, AutoCAD, etc., it's a lot harder for me to buy the community-is-better argument. Even in some cases the frameworks & tools being semi-proprietary has major benefits (.NET/Visual Studio dev experience).
There are tradeoffs with everything. The key is focusing on the customer. Who do you want to keep around as your customer? You aren't going to make everyone happy. Someone is always going to be pissed at your particular approach. Might as well take a path that makes you a little bit of money if you can.
If you do that, you will eventually lose with depression or other heavily overfitted reactions.
I build open source for myself, and for myself first. Not for others, not for appreciation, not for "likes" or similar.
I don't expect anything in return. If you want to be part of it, start to contribute. But with everything in life, trust has to be earned slowly over time.
Having said that, I always believe in the good of people. Though I am pretty sad and disappointed how some parts of the internet made me their artificial enemy because I don't submit to social pressure and couldn't care less about the chan folks.
Always remember: The loudest on the internet are not the most.
Now, with LLMs, exposing your source code essentially hands over a large chunk of your hard won expertise for free to whoever wants to use it. That old model of 100% open source is broken, to my mind.
The new approach I think should be open source stubs with demos of what is capable with your additional proprietary piece.
do you want to give RMS a heart attack?
RMS founded the Free Software movement to protect the users of software.
to redistribute power back into the hands of creators who were getting walled out of anything but proprietary work for an employer. If they were fired, they had nothing to show for years of work except a reference, since their deep expertise was essentially meaningless
ignoring the fact the big philosophical different between Free Software and Open Source, neither had the above as a goal. for the first decade or so of the movement, all Free Software and Open Source development was done by people in their free time. practically none of it was done at work. the exceptions are MIT and BSD projects which both predate the Free Software and Open Source movements.
on other words, developers always had the ability to do stuff in their free time regardless of the license. those that live in countries that allow employers to own everything had to fight their employers to be allowed to do so, and they still have to do that. the cases where employees are getting paid to work on Free Software or Open Source are rare, although they are less rare today than in the past because more companies release their sources. but again, this was not the goal at the founding. at least not that this should help the developers. the goal was always to support and protect the users, to allow them to share and modify the software they use.
https://www.youtube.com/watch?v=9sJUDx7iEJw
Stallman explicitly warned about working on proprietary software for an employer:
> “If I sign a nondisclosure agreement to work on a proprietary program, I am agreeing not to help you. I am agreeing to withhold information from you, and to refuse to give you a copy so you can learn from it.” This isn’t just about ethics toward the public — it’s about how such arrangements strip a developer of the ability to show, reuse, or build on their own work.
GNU Manifesto (1985).
https://www.gnu.org/gnu/manifesto.html
The closest thing I could find was this:
> Software sellers want to divide the users and conquer them, making each user agree not to share with others. I refuse to break solidarity with other users in this way. I cannot in good conscience sign a nondisclosure agreement or a software license agreement.
So were users or "creators" his concern? I don't remember him ever giving too much of a shit about the happiness of creators, I wouldn't have approved. I don't (particularly) care about programmer's problems.
-----
edit:
I can't find the quote "If I sign a nondisclosure agreement to work on a proprietary program" on the entire internet.
My understanding is that the purpose of Stallman's free software movement is "that the users have the freedom to run, edit, contribute to, and share the software." The FSF is focused on "defending the rights of all software users." Its about the users, not the developers.
That's just the main idea, but also:
1. LLMs make existing software (even obscure stuff, so long it fits in the context window) more intelligible:
- how do you compile this (when you are inexperienced and the ecosystem of that language is a baroque mess, it might seem impossible)?
- what does this error message mean?
- what parameters do I need to use in my invocation to get it to do XYZ?
- what does this function do? why does it use this algorithm?
2. They also make new software easier to write, and existing software easier to modify:
- ask about anything concerning the part of source code that fits in a context window, and you'll get a (probably correct) explanation of what it does, faster than a half-dead IRC channel or StackOverflow would respond
- the above, but also: the LLM has infinite patience and can drill down as deep as you want. You can ask "OK, but why?" for as long as you want, as about anything you want. You might get a hallucinated answer sometimes, but a frustrated human who would be asked the same way, could also just make something up to shut you up.
- for anything in the context window, ask about how to go about making a functionality change to add or modify a feature
- the above, but if it's small enough, just get the LLM to write the change for you. It might be buggy and messy, but you'll be one step ahead if you lack the skill to make the change yourself
- how do I set up the build chain? Why is my compiler not picking up the path properly? Is the project directory structure wrong? This used to be a huge problem before LLMs, and relied on undocumented knowledge.
---
For me, the whole point of open source is ready-made, (hopefully) not too buggy components that I can use and customise as an end user, or plug into the thing I am building as a developer. LLMs make the freedom of FOSS become much more practical, particularly to those sympathetic to the movement but technically less experienced.
BTW most business-astute maintainers always managed a closed piece of expertise which is what they charged for. I’m saying that proportion needs to grow now.
Industry practices that over commoditize human talent are bad IMO.
Our whole industry needs to bend its collective mind to maintaining economic participation. We’ve possibly put too much of a strain on society with LLMs. Especially as more and more people cotton on to what other services they no longer need, as models get better and better. We can’t survive as a species if too much of our lives are based on self-gratification, we have to maintain the drivers that make us interact and learn to get along.
The world is changing, we improvise, adapt, overcome. Where many species have their world model encoded in their DNA, we have a beautiful neural computer that can change its world model and resulting strategies on the fly. Let's use it.
That won't work. The breaking of that model is far more widespread than one thinks because of how it was broken.
The breaking of the model breaks underlying models all the way down to the basis for economic distribution of labor.
Its a phase change where labor and expertise are free, without restriction and the people with that expertise do not receive economic benefit for it anymore. In short, your demand curves goes to 0 in that area. There may be a great need for something, but if the demand is 0 no one will fulfill that need. People aren't slaves. Many people conflate demand with need, Hayek in his economics in one book cover the distinction. TL;DR demand is the group of people where there is a point at which two parties are both willing to exchange something for something. Need is where no such crossection between the S/D curve in exchange can occur for the two parties involved. One is much smaller than the other, and at 0, it doesn't happen or you only get the efforts of slaves.
The trend is inevitably towards stalling the economic cycle, where such experts simply do not create such things, they do not share, the ones that could either abandon that expertise or they withdraw keeping it to themselves.
The vast majority of all action though is done for economic benefit, and when that's no longer the case people don't do it. People aren't slaves.
Better to do that by not sharing how as much (source code), but rather what (interactive demos).
You are right, they will do something, and that something will become violent when the rule of order breaks down as a result of these basic underlying aspects.
People aren't static, but neither are they so dynamic that they can learn exponentially, expertise which took education and years to learn cannot compete with free, and lets remember people age and die, and expertise is only gained by doing the job the first rung on that experience ladder. The nature of the asymptote that people fail to realize is, the asymptote isn't at its given value when you see the whole, it trails off as it approaches certain points exponentially. Sometimes to infinity.
You can't compete with slavery, and in the case of AI, you have a digital facsimile of a person that is a slave being used by people that don't have that knowledge. It may be able to go on just long enough that there won't be any experts left by the time everything starts breaking down (which happens frighteningly quickly, typically within 10 years).
There is a train, its on tracks and those tracks go over a cliff, but that cliff is around the bend, and no one knows someone's switched the route to over that cliff, they didn't notice. The conductor keeps feeding the fuel, full steam ahead, and what happens with mass is you have inertia and between the end of the tracks and the rocky shore below? Trains don't stop on a dime.
Its an asymptote, and the nature of cascading failures is that by the time the average person realizes you have a problem, there isn't anything you can do to fix it, that is the difference between average and intelligent, and likewise the average person can't avoid the outcome because the lag and the time to react don't provide a window to change it; its already passed, its hysteresis, and its a bitch.
It also keeps open the option to sell to an incumbent (possibly helps maximize the value of that option as well).
I've released several tools, and for most of them, I've heard nothing from anyone.
But 3 got somewhat popular in their niche and most of the inquiries and requests were from people who seemed to think they were entitled to free support and feature requests. Many times, they got pretty rude if I refused to implement their feature or I took too long to release a fix.
It really turned me off from releasing open source code and then interacting with users. I'd rather just release the code, and forget about it, only patching on my own terms.
I didn't try to release code again until the end of my PhD.
I now caution everyone who talks about open-sourcing their projects to consider which groups might feel that the existence of the proposed project represents an attack against them and what threat those groups may pose when they dedicate themselves to your removal.
Now I frequently find myself building things and thinking "damn, wish I could use that to make my life easier".
I'm keeping the details vague because I think I'm still bound by NDAs.
As a result, I became network troubleshooting tech support for a large chunk of people trying to run kubernetes on bare metal. If you've not looked at k8s's networking, debugging even your own cluster's networking is a nightmare, never mind debugging someone else's over slack, while (usually) simultaneously having to give them a crash course in intermediate/advanced networking stuff like asymmetric routing and tracing packets through netfilter so that you can then tell them that networks can't do the thing they wanted and no amount of new features I can add will change that.
Meanwhile companies selling bare metal k8s services started bundling MetalLB, but kept sending their customers to my bugtracker instead of taking some of the load themselves.
The experience burned me out severely. It's been several years and I still have a visceral negative reaction to the idea of open-sourcing code I wrote, and when I infrequently do they come with a fairly blunt "contributions no welcome" message and a disabled issue tracker. I handed over the keys to MetalLB a long while back now. I hope the new maintainers and the project are doing okay.
I'll mention a positive of that time as well, to balance it out: as an experiment I opened a pinned issue asking happy users to drop me a note (https://github.com/metallb/metallb/issues/5), and many did. It was nice occasionally getting a notification that wasn't a complaint or demand for support. At one point someone left me a note that it was being used to support research projects at NASA JPL and DARPA. That was pretty neat.
When I did veer into enterprise environments, I regretted the NDAs I signed. It was annoying to later want to share some illustrative anecdotes but have to censor myself. And it wasn't like they were state secrets, just stuff that was amusing and apropos but someone might be able to trace back to the NDA contract period due to the small world we seem to inhabit.
Otherwise, I've been in university-linked R&D and generally went with folks who declared projects open source before we began any real effort on it. That's the only way to be sure.
That aside, have had two other projects take off and get flooded with normies demanding things on social media/github. I now do each under throwaway names and sell them to people who want the appearance of having shipped
But in principle I agree that it would behoove profitable companies who benefit from FOSS to either pay or contribute.
Was at a talk by the curl maintainer a while back, he has a stack of emails from entitled companies that expect him to work for free. It's mind boggling.
And if it's not that, it's someone (who very well may be qualified) being unnecessarily passive aggressive trying to make a failure of your own seem like a show stopping nightmare that they'd never let happen.
What I really don't like is that sharing anecdotes like the above often invites equally annoying "tHaT's NoT mY eXpErIeNcE" type comments which leads to a sort of "who cares, just do the best you can and ignore everybody" mindset (which can be helpful at times, damaging at others).
Aside from all of that nonsense, it's great because you have other sets of eyes looking around that may see something you didn't. This is incredibly valuable if you're a soloist or small team working on a big project.
I guess it really depends on how popular your project gets. I have no idea if my stuff is used or not[1], so regretting is maybe kinda hard?
I’ll keep doing it, though. Might regret it at some point, but I get so much value out of open source, it feels wrong not to.
[1]: Judging by the lack of patches I’d guess my work isn’t used, though.
Sometimes, a project or an idea is bigger than just a single human or company. So keeping everything only for ourselves is a very narrow strategy.
By openly sharing the knowledge, we can pass the sparks to future generations. Including future versions of ourselves after we die and get reincarnated.
This was one of those niche industry specific things that no one would give a crap about if it was open sourced other than the competitor in the market.
Principal architect was tossed on the street for that one.
I've been told there were too many RCE exploits on all of the software I made, but the reporter didn't specify what software has the exploits (could be anything from my personal website, my forum, my link sharing site, my fangame, to my discord bot; they didn't specify). And even though I did get attacked by spam on my own forum, I made a workaround for it and it worked.
Since then I've been making proprietary software only, but distribution is harder this way (at least for me).
They're both about understanding of statistics at their heart. But in vastly different ways.
The first is my first set of amateur Rust projects. They're built around a Covid-Era project to reverse engineer the LucasArts SCUMM games, specifically Loom on the Atari ST. It was a fun project that led me through Atari STX disks to FAT file systems to SCUMM virtual machines.
And a few side projects along the way with CRC32, Adler-32, Fletcher and flawed checksum algorithms. Including using a kolmogorov-smirnov test to show issues with Adler32 on small data sizes.
I use the math, and it's a great project to learn about hypothesis testing and polynomials. But I can't explain it all. Just enough to be dangerous.
And the APIs are shit.
But it's out there and it was fun.
The second isn't really code. It's a comment somewhere about Microsoft and Valve and purposefully designing systems like UEFI for political purposes before the "What the fuck is an SBAT and why does everyone suddenly care" issue struck.
It was about how these large-scale global political and standards wars hurt normal developers, even if in the end they will help others.
But I mentioned dead eyes because I was talking about exhaustion and just going along with trends instead of fighting back.
My comment might have been construed as violence against women. It wasn't in any way. As I go through CT and fMRI tests into the future we can show that it's not always what it seems on the surface.
But it is my fault. It was a stupid mistake that wasnt thinking about imagery in a larger context. Statistics shoes violence against women is a bigger issue, and that's the truth.
So, I'm sorry.
Only one item became a bit popular, but was written for MS-DOS ages ago and I hear it is still used by 1 person :)
Otherwise I'd just keep my packages private.
That said, I feel like things could have worked out better given how much time I invested beforehand and how everything had been clicking into place until my 5 year plan fell apart suddenly around the time of COVID. It all went perfectly until the very end when other people's irrationality and corruption ruined everything.
I probably won't be open sourcing my more innovative recent work. I'd want to see traction before I open source that one and I'm not convinced that open sourcing would make a difference in terms of getting traction.
When something could benefit from being open sourced, it's kind of obvious.
I think if I hadn't open sourced that other project, it would have gotten me nowhere and I would have gotten no value out of it so that was definitely the right move.
My more recent work is a serverless platform. I really wish I could open source it. It's probably better than anything else of its kind but I'm not convinced that people would understand the value provided because you have to use it for at least 1 hour to have your mind blown... But I can't convince people to invest 1 hour into trying it. Big chicken and egg problem.
Also, my understanding of business is that it doesn't make sense to offer a product whose quality exceeds people's perception limits. Outside of the luxury sector, nobody will pay for surplus value which they cannot fully sense, not even if it's 'free'; they won't invest their time. Also, my target audience are developers and they often like using suboptimal, time-consuming tools which allow them to do busy-work. They charge by the hour after all. It's like the target audience is communist so it's stupid to look at them through a capitalist free-market lens.
In terms of software we usually used Apache 2.0, LGPL, and GPL licenses.
Anecdotes:
1. FOSS e-Commerce tax module for merchant account gateway was resold as commercial software to several local businesses by a "startup". Didn't care until years later when we started getting spammed with support requests given the original email was in the source, and the "startup" had moved on to other ventures.
2. Wrote industrial drivers for integrated manufactured equipment, and due to remote locations it was important service people could modify/rebuild the open code as needed. We tracked prototype product GPS telemetry to a Singapore University campus, and saw a copy of the GUI at a trade show the following year. No more FOSS in commercial releases.
3. Built generic 3D printing hardware for our local club activities, and within a few months it was a product on Aliexpress. The problem was it was the Beta firmware design, and again people that paid for something that was supposed to be free get irate about support.
4. Built a small OS distro for Ham radio, EE, ROS, CNC, and 3D printing. Of the 8000 users only 2 people provided any sort of participation in maintaining the build. Also, many people were paranoid there was some sort of nefarious purpose even when meeting them in real life. “Free as in free beer” tends to make people suspicious in real life.
5. Tried to expand existing FOSS software, but get ghosted by the community when trying to learn about their code (stare into the void of ambiguous documentation.) Most FOSS communities are great, but some people just don't want to know about you or your silly problems. Better off with your own project fork version specific to a use-case, and share under a similar hands-off library support model.
6. Built custom FOSS IT infrastructure, and had publishers switch licenses years later. Makes people look like fools when a certain now well known vendor cold-call solicits a $8k support fee for something they probably broke on purpose 2-weeks prior. Re-wrote it in 3 weeks, and never exposed core systems to a “trust me bro” crowd again.
7. Took a few foundation courses to clear up the WTF deprecated vestigial garbage moments in the kernel source. Realized the value proposition is just not worth the perpetual Beta and political hassles. Started writing my own toy kernel that is just as odd as the hardware it is meant to run on, as traditional architecture problems just do not handle parallelism cleanly. Don’t ask, seriously… lol
8. Tried financial & bug support for other small FOSS projects we think are cool, but around 60% of the time projects are abandoned/EOL within 2 years. Building a user base around that is impossible.
I am sure there are some folks that fair much better, but in general most FOSS problems I saw are economic and or political… from a technical perspective Open source has proven more reliable than most commercial options.
Thus, prefer FOSS projects that serve your specific needs first, write something that fits your own use-case if you must, and expect zero community support unless your team lucks out. YMMV =3
Firstly your appeal to authority , and then using Steve Ballmer as your authority is perhaps not the best way to start.
Secondly you say that "no professional programmer" - but the statement is false. For starters it's a sweeping generalization which is trivial to show is untrue for at least 1 programmer.
Thirdly the existence of Open Source alternatuve does not make a product uncompetitive. You need look no further than Windows to see that's true. Indeed if we has to list all the commercial software that exists with an Ooen Source clone, we'd be here all day. I'd also argue that Joe public doesn't even know what open source is, much less factors it into a buying decision.
If you are building tools for programmers (already a tiny niche target market) then you need a hook other than Open Source anyway, cause programmers are a terrible target market.
I say this as someone who builds tools for programmers, and who sells commercial into a space that contains Open Source alternatives. And I do ok.
Instead of getting people to try and come up with an argument that wasn't made, the argument could have just been made. But I'm sure it is a very bad argument, or else there wouldn't be that embarrassment to try.
1. Build a piece of software that actually solves one or more problems.
2. Keep ownership private and limited. Once you're publicly traded, long term planning becomes impossible and "line must go up" becomes the reigning false god.
3. Sell a perpetual commercial license to the version-at-purchase, and offer subscription for updates after purchase. On cancellation, stop providing updates but do not disable that customer's last working version.
4. Optionally, dual license under a free license that prevents competitors from eating your lunch (usually latest GPL or AGPL, depending on context).
If you're implementing the above items, it's absolutely possible to run a profitable company.
You can fight this with dual-class ownership. Google and Meta can do whatever they want because nobody can change their board.
They're still motivated to care about share price because they pay their employees in shares, but you're going to have to get the money to pay employees from somewhere.