Only certain FOSS is worth working on for me. Here's my heuristic as of today.
* Don't work on FOSS that supports a SaaS or proprietary product. You're enriching someone else's ecosystem for no money. You take on the communication bandwidth and issue load of dealing with not only your issues but their issues too. Your software is useless if theirs fails. It's thankless.
* Don't work on FOSS you aren't using yourself anymore. This heuristic isn't fully fleshed yet, but I've found if I stop using software I wrote, it just becomes a support burden for me. Especially frustrating are entitled users or entitled users who make money entirely using my software who want niche issues fixed. Not PRs, they want me to debug it all or put in the thought to get the features working. (Probably doesn't apply if you're immersed socially with a friend group working on a FOSS project though)
> Don't work on FOSS that supports a SaaS or proprietary product.
So true. I'd expand on that with a more specific example: game modders. When i look at all the energy spent on game mods which bring significant (gratis) value to commercial games, i can't help but wonder what the FOSS gamedev ecosystem would look like if all those dedicated people put their energy on free-software ecosystem.
Minecraft for example made a fortune on promises of later open-sourcing the game and deriving value from all the volunteers building mods.
On the other hand, plenty of game modders have started a productive career from modding.
In an ideal world, I'd agree it would be better that that energy would go into free software. But in our current world, if there's a proprietary game someone is hooked on to the point they get excited about modding when they otherwise wouldn't and that modding leads to a career or even just skill development and perhaps connections with other modders, then overall it seems like it's still a productive use of time, if not entirely an equitable one from a monetary perspective.
There is a balance. I made some connections and learned skills after a few years of moderate to serious modding. With today's free or cheap tools though I'd encourage folks who find joy in modding to consider making their own modest IP. We used to mod because there was little hope of making your own 3D game without an existing engine. (When licensing costs were in the hundreds of thousands and we were poor school kids.)
Anecdote, but I started in modding and made some amazing friendships through it as well as honed my abstract reasoning I use for programming professionally now.
There definitely social benefits that can outweigh the more concrete software == value and time trade-off benefits, but I find communities that are "worth" it _much_ harder to find these days.
The premise sounds good but some of the best things in gaming were conceived as mods. Team fortress was a Quake mod. Now, I personally don't blike moba games but Dota also started as a mod. Not to mention Quake OSP/CPMA/Defrag, UTComp, HLDM, Black Mesa and countless others.
In a previous life, I used to work for a game retailer. I couldn't believe EA was charging 20 euro for a handful of maps and that some people were willing to pay for their own community's destruction thanks to these map packs acting as gatekeepers.
While I agree with the broader point, I don't think Minecraft example is accurate. Historically, most MC mods were freeware closed-source, only few years back (around 1.10) lot of them became open-sourced. So I don't think open source was a big consideration for modders.
You are correct. I meant that Mojang was saying they would consider open sourcing Minecraft itself when it's ready and has raised sufficient funding (have we reached this point yet?). My point was that modders are providing significant value for free to private companies (and are happy to do that as lon as they're credited) and i wish such energy was directed towards a FOSS game ecosystem instead of continuing to enrich the same crooks who derive money off dark patterns (subscriptions, lootboxes) and exploited workers (gamedev industry is famously harsh).
Also, each software has its guidelines to build mods. I feel like if a game had modding guidelines suggesting to open source, modders would be more than happy to do so; if not, open-sourcing a single-person project can be considered more work (eg. setup git).
I believe the phrase was "Once sales start dying" though
Anyways, while there are some similarities shared between Open Source and video game modding scenes, they are substantially different. Instead of evidence to back up this claim, I implore you to imagine what it would be like if some wrote an article titled "Is It Even Worth Working on Videogame Mods Anymore?".
The example of game modding is more related to the corollary of the third point: work on FOSS for something you currently use (or in this case, play). Why not if it's something that brings you enjoyment?
One skill that I’ve learned, over the years, is to say “no,” in a calm, respectful manner. Works a charm.
The “calm and respectful” part is important. I can be right ornery, and learned, the hard way, that OS projects are more fragile than commercial ones, so enemies can do a lot of damage.
I have written software for a fairly … pithy … demographic, and have dealt with feedback that would make many FOSS authors hide under their standing desks, whimpering.
I've not found a good heuristic for saying "no". Most issues are valid issues. I can see the benefits, they might even benefit future me.
The hardest part for me is actually saying no, because it's never that black/white. I might work on it later because I want to help. I might stumble into a use case where I now need this feature and then do it. Someone might make a PR. But each "open ended issue" is still bandwidth, brain capacity, effort.
However, you are correct about that "using bandwidth" thing.
If we publish something, then I think it behooves us to make it clear what users/adopters of our work can expect from us.
I tend to use the MIT license ("You can do what you want, but don't come crying to me."). I also make every effort to make the project as understandable and well-documented as possible. I appreciate feedback, and apply it, if I deem it fitting.
I have only had one project "go viral," so to speak. It's a fairly big deal, nowadays. It was taken over by a new team, and they had very little trouble getting up to speed on it, because of the quality of the code and documentation. Thousands of folks around the world, use it every day. It's become a fairly vital infrastructure component, for a certain demographic.
The best thing I ever did, with that project, was get the hell away from it, as soon as I was confident the new team was good.
> Don't work on FOSS you aren't using yourself anymore.
More-or-less agreed.
> This heuristic isn't fully fleshed yet
I'd perhaps extend it as:
“Don't work on FOSS you or people you sufficiently care about aren't using anymore.”
Who qualifies as those you care about and why is an entirely personal thing and I'll not judge anyone's choice there. They could be friends, they could represent a cause you support, they could be randoms and you just get off on feeling helpful, they could be important and you like to be associated, you could be being paid to care, etc.
Also it goes without saying, but I'll say it anyway as I'm in a wordy mood, if you are enjoying working on something even if you don't use the output I'd still consider that to be finding some use in what-ever it is.
Enjoyment is a good signal for whether youre using your time in a way your brain tolerates. I personally strike a balance between maximizing happiness and also maximizing value, so when enjoyment dips, it takes a bit for me to get off a project still.
In response to your first point, I'd rather use and contribute to FOSS that supports a SaaS or proprietary product. Issues are more likely to be addressed if the maintainers depend on the software themselves for profit. I see it as trading helping them improve their software for the ability to use it in my own projects. It also gives some reassurance that the FOSS is going to be maintained if the creators depend on it financially.
I agree with your second point though. The main reason I see for contributing to FOSS is to fix issues that affect me or creating issues that may lead to the maintainers improving the software in a way that would benefit me.
I think it makes sense for companies to open source tools they depend on. They help others by providing the free software and in return they get help identifying and fixing bugs.
> I'd rather use and contribute to FOSS that supports a SaaS or proprietary product. Issues are more likely to be addressed
I understand the logic behind this assertion, but i don't believe it holds true at all. Businesses will favor fixing bugs related to main features that drive revenue in. Whatever's not hurting their business is invisible to them.
That first heuristic is very difficult. It means you can’t work on the Linux kernel or pretty much anything that could be used for server infrastructure.
It also means you’re very restricted in license choices since you otherwise never know if your project might get picked up in the future and used in a proprietary service. This likely means you have to use something like AGPL.
I meant support in a more direct manner. For example, writing a piece of software that does better Markdown importing to Notion.so. You're only enriching Notion.so's system, you're at the mercy of their API, whims, and bugs.
There is no black/white category of what is direct support though. It's a spectrum. And these are my own personal heuristics, rooted in my experiences and found benefits/drawbacks of my own projects and working with people.
It’s fine if someone picks up and uses a project I worked on. That’s what OSS is for, but the Linux kernel doesn’t need my support to keep going as it’s self sustaining at this point. Plenty of other projects are in serious need of active support and keeping them afloat is simply a better use of my time.
Having your project picked up by commercial users is entirely the problem this heuristic is intended to avoid. It’s also the central problem from the linked article: commercial users take from open source projects and often don’t give anything back. They also tend to externalize any costs they have from use of the project onto the project maintainers.
Maybe you’re okay with being treated the way the log4j maintainers are being treated right now. The whole point is that you shouldn’t be! People producing valuable software in their free time and giving it away for free should be treated with respect and that’s not happening right now. We need to find a solution!
Someone using something I have written doesn’t cost me anything, but it also doesn’t create any obligations for me. I don’t need to make my contact info public, or have any interactions with users whatsoever.
log4j accepted donations which is really it’s own thing. Running a charity, which is what it means to get paid full time to maintain OSS, has a host of issues that have little to do with OSS and a lot to do with public relations.
It’s probably more like how some video channels on YouTube are careful with their sponsorship. LTT has been careful to make sure that no company is the majority of their funding, and more recently, that no company is the plurality of their funding.
If the biggest or only user is one company and its customers, it’s not really capital O Open.
I learned long ago that I don't want to waste my life doing something I don't care about. I publish things as open source that I wrote because I needed them, and nothing existed like it.
One of those things, other people actually use! I don't so much, but I enjoy keeping it going every so often because it gives me purpose.
Another of those things, literally nobody seems to know about, even though it's a very useful thing which there is no oss alternative for. I'm a little sad nobody uses it, but it's fine because I still use it.
When I stop using these completely, I'll shutter them. Somebody can fork them if they want.
> Don't work on FOSS you aren't using yourself anymore.
I think there is still some middleground possible. It can still be enjoyable doing small support stuff for it and to keep it running and fixing small bugs, without any big rewrites or big features. I once cared about those things and I might still do. Just keeping it running might feel better than discarding it.
It all depends on personal preferences, the type of users and their communication, if you still use the language, etc.
Also: entitled users who ask if x can be done, and after a comprehensive answer which took a lot of time and thought say "can you make a demo and post the code. thanks"
Why not reverse bounty or charge these entitled users for fixes and change requests?
If they want the patch or improvement, they should pay for it.
Log4J CVE might have been the perfect use case for asking for 50K-1M EURO for the maintainers to patch the bug, to any corporate clients this is a drop in the bucket.
Capitalism is just one big extortion racket. Pending to move to fully automated luxury space communism, that's what people need to do to succeed in the economic incentive structure we've created.
For me open source is like math. You don't work on math so that people will thank you for working on math. You don't expect people using math you developed contributing back to math or paying you. You get paid however you managed to organize getting paid. And work on the math for the math and nothing else.
If you have other expectations maybe you'll find other endeavours more fulfilling. Which is sad but it is what it is.
By the "documentation style of math" I assume you mean the emphasis on giving precise definitions and providing elegant and crystal-clear explanations. :)
They are not always paid for developing math. Sometimes they are paid for teaching math, sometimes for applying math. And they are developing it on the side.
You can easily draw parallels to open source where you can easily make a living out of teaching how to use open source software and components and applying open source software at your job. Most people are not paid to develop open source software or for applying or teaching about open software they themselves developed. Very few do. Same with math.
Having had teachers on the family, including my mum, I kindly disagree in regards to math.
Having bought several books from open source projects as means to try to help the authors, I am quite aware how little it brings home to keep a sustainable life.
Some software does. Most probably wouldn’t if the author could be convinced to stop when it was done.
Personally, I’ve shipped several open source libraries that are still in use in lots of places despite me not having added a commit in over 10 years. They do the thing, don’t do anything else, don’t depend on other stuff, and thus don’t have a lot of surface to attack.
Imagine if the log4j guys had built their thing to spit out logfiles, then stopped before adding the bit where it can execute arbitrary code. I’m sure there was a version early on that did that. And I bet that version would still work perfectly well today. It was finished.
A late youth hobby of mine was being active in a coding community that wasn't open source, it was "lost source": based around a piece of freeware that was literally lost to a local storage hardware malfunction. But it had an API and a decade of stability (as in lack of API change, not lack of crashing unfortunately) and that caused an amazing amount of creativity, cooperation and so.
Perhaps this is an inherent weakness of open source: it's always easier to accept one more feature PR than committing to an API that remains sufficiently stable for that feature to happen in an isolated module.
I'm not saying that its always better to strive for the API instead of inclusion, it's a weakness as much as it is a strength, but chances are many situations where separation would have been better will be missed. It's a cultural bias.
> Most probably wouldn’t if the author could be convinced to stop when it was done.
It's nice to view software as something that can be done. I cringe when people look at activity on commits and think that if there isn't continuous activity, the project is dead. Maybe, but it might also be complete.
My most successful open source project in terms of adoption (it's packaged in nearly every distro) is one that is done. I wrote it about 10 years ago and other than one small bugfix it hasn't seen any activity since. It's useful, it's complete, nothing more to do.
You don't need to maintain anything, you can just drop it and go do something else if you prefer. Maybe someone will pick it up. Maybe noone. If you maintain something you chose to maintain it. You have no obligation to continue maintaining it.
Most of the value is in the maintenance. In responsiveness to changing demand. I bet all the valuable FOSS software you can think of today is maintained.
i think is usefully because is maintained, most of the time when you search for project you search for trust and being continues maintained is key proxy for that, ins't the only one openbox is trustworthy(the last update is some years ago) but is trustworthy in part because you have a long record of doesn't having problems.
Maybe that’s the problem we need to be addressing. More and more these days I find myself frustrated using modern software when old unmaintained software had already solved the problem.
We consider it a novelty when a writer like George RR Martin still uses WordStar on an old DOS machine [1]. Maybe it shouldn’t be a novelty. Maybe it should be the normal thing to do.
It’s utterly at odds with a consumer culture though. People don’t seem to want well-made things that last a lifetime. They want shiny disposable crap.
Considering most software written in the 20th century no longer works in a modern environment, I feel like having to go several lifetimes back kind of proves the point.
The most important thing of FOSS has always been about ensuring an alternative to closed source. This provides people with leverage in negotiation with the corporations and states in a way they simply would not have without it. Beyond this, It provides a pathway for a much quicker evolution of the products, something actually driven by the most driven users, instead of corporates approved. Writing this on firefox on linux I'd say its working and has done, and will keep doing great good.
Nice theory. Sadly the reality is we have very little leverage against the huge corporations which have been helped to their monopoly status on the back of open source software.
Consider how much less influence people would have without it. Microsoft has been forced to backtrack on customer exploitative shit multiple times due to the very real threat that it would lead to linux getting a huge boost.
Without a functional Linux Desktops for users, there is no doubt to my mind the windows app store wouldn't be the only way to install apps on windows and there would be no way to sell an app that installed on windows without paying microsoft the standard 30% of total sales. The recent fight between steam and microsoft illustrates this perfectly. But they have tried every few years, claiming anti virus, child protection, anti piracy, convenience, anti spyware, anti ransomware, and well its always been the pro microsoft profit in reality ... But they lost each time, because each time too many of its users just threatened to move to linux. This is essentially the only reason you can install, run, and develop apps on windows without everystep including microsoft fees and licenses today.
Look at how stagnant and shitty matlab used to be, and its exorbitant priced to understand what happens when FOSS fails to provide. The niche matlab used is the, at the time, almost non-existent overlap between FOSS programmers good at both GUI UX, tutorial writing, and math. This changed with the FOSS python, numpy, scipy, matplotlib, and pytorch projects.
Matlab has gotten extremely much better in the last few years, and its mostly because they finally got competition, they have also started to rapidly drop their effective prices for new users, but its too little too late, and it will never return to the stagnant cashcow it used to be. Matlab was is a troll sitting on a shitty toll bridge while both trying to destroy similar bridges and maintaining its own toll bridge as little as possible. In the last decade FOSS mortally wounded it in passing.
Inversely reduced FOSS influence predicts exploitation. as shown by how astonishingly bad the walled gardens of consoles and phones are. They have gotten away with being astonishingly shit, mostly because FOSS was intentionally and successfully made too hard to use on them.
But these are just visible examples. The great effect of FOSS has never been what it brings about, it is in what it prevents from occurring in the first place, and that, by definition, will never be easily visible.
These articles never clearly state what problem they want to solve. Some candidates that seem obliquely implied:
- That you personally don't feel motivated to make OSS because of the way it's structured. Of course no one can fault you for that; that's the default position. Same for me and, say, juggling. But should the ecosystem really reorient itself around encouraging you--and specifically you--to participate?
- That there was some implicit social contract that has been recently violated by the commercial use of permissively licensed stuff. But there was no such social contract, the OSS dynamics haven't changed recently, and the whole point of the MIT and Apache licenses is to allow this.
- That the ecosystem doesn't have a structure that lends itself to the flourishing of OSS. This one is just clearly untrue; look around.
I hear all this vague grousing about the state of a system that seems to be working really well and for which participation is entirely voluntary. What problem do we want to solve again?
(There was also something in this article about ads in paid products, which I also find obnoxious, but that seems like a non sequitur? Did I miss something there?)
> These articles never clearly state what problem they want to solve.
Sorry. The problem is that I want my software to do more good than bad, and I'm not sure it will.
> (There was also something in this article about ads in paid products, which I also find obnoxious, but that seems like a non sequitur? Did I miss something there?)
I see ads as harm, harm through manipulation.
I know the article was not well-written; it was more a feeling dump of discouragement.
Like pollution, right? You working or not on FOSS isn't going to make a difference. Demand that ads be taxed/banned/regulated -- like pollution -- and hey, that's an activity you could do to fill time not spent working on FOSS, so that your not working on FOSS actually does make a difference!
Is it 'worth' working on? That's a function of what I deem worthwhile, which no one else can really answer for me. 'Anymore' implies that it used to be better, which may be true, but I'm inclined to think I may have changed even more than the ecosystem. My time was worth less in the past, so it may have been a valuable use of time (valuable as a term leading back to the first point) than currently. Is there still value in working on FOSS? Yes. Is it worth it to you, or me, or any certain person? Maybe. Is it changing, likely for the worse? I think so, and the examples in the article are concerning.
- training purposes to better yourself
- as a showcase or to build up your reputation to get hired
- because you have a niche need in your personal life that no one else already solved
None of those reasons are invalidated by big corporations using open-source without paying back.
Honestly I was a bit struck when a friend looked at my github and said it was a nice portfolio. The material view never hit me at all: my github is a product purely of what I've wasted/spent time on for fun, not to make a profile. :)
I'm not a fan of the trend I've seen where GitHub is treated as a portfolio- I once had a hiring manager I worked with tell me I should delete a few of my GitHub projects, as they made me appear "amateurish." I WAS an amateur! And I don't want to feel like I need to to hide random things I've tinkered with just to impress others. As a result, I know those who have multiple GitHub accts, one for fun personal stuff and one for showing off to potential employers.
Or, you could do every bit of work as if it were for a vital infrastructure project.
That’s what I do. Even my “farting around” projects have a lot of polish. I write everything I do as if it will ship.
I find it establishes great work habits and personal integrity, and my GH ids (I have a personal one, and a couple of org ones) make outstanding portfolios[0].
Not to worry, though. My experience, is that potential employers never look at at GH portfolios. Instead, they rely on leetcode tests to evaluate applicants.
If that's what you want to do and what you have the personal time for, that's fantastic. For others, being obligated to reach that level of polish means a ton of code will simply never happen.
I'd liken it to an artist's sketchbook. If every piece is required to have the appearance of a master work, lest you be judged by it, then the sketches must remain private or else be destroyed (which they often were). But the masterpieces don't jump to the canvas without sketches. Forgo one, forgo the other. And an artist's sketches often have an elegance that's lost in the translation to a finished piece. I see similar parallels in the rough line art for animation, and certainly in an architect's studies. Not all of it is destined to be finished, either, but such work is often prized regardless.
So why (aside from fearing for our careers) should we be afraid to share?
Some code is inherently low-stakes. Some code will only ever be useful, even to the public, for a few months. Sometimes I just want to express an idea, where the proof of concept matters far more than making something shippable, which might imply strapping it down to a particular platform or ecosystem where no one outside those walls is likely to see it.
Even on the job, there's a time and place for the quick & dirty script, where anything more would be an over-engineered waste of time.
Back to the artist analogy, the best advice for maintaining a good portfolio is edit, edit, edit. Constantly be looking to remove work, leaving only your best, as you'll be judged by the worst. Does that model really work for GitHub? If everyone started withdrawing work they were no longer satisfied with, we'd all be worse off, if not actively harmed. So that's where I believe my artist analogy ought to end.
As an artist (by training. I don't really do that much, these days), I can relate.
I used to have a big Strathmore sketchbook, that I took with me, everywhere, and, whenever I had the time, I would practice in it. I have old photos of me, with it. I was fairly scruffy-looking [still are -Ed.], and the sketchbook was sort of my "brand." My classmates used to call me "Puff," because I liked drawing dragons.
It got to the point, where even my rough sketches would be as good as finished works.
I work surprisingly quickly. I can generally spin up a full-fat native swift app, App Store-ready, in a couple of days. I do that frequently for my test harnesses (but I prefer taking more time, for the apps I actually plan to release).
I never really warmed to Boris Valleho's work (he used to hang in a gallery that I had work in, and I met him), but I have to admit, that guy can draw.
Look up his sketches. He used to make a lot of money, selling them, so there's a lot of them out there. The gallery that I mentioned, had a big rack of his castoffs, selling for hundreds of dollars. They sold like hotcakes. He was that gallery's star (I, on the other hand, was chopped liver).
> It got to the point, where even my rough sketches would be as good as finished works.
Hah, I feel like I understand more where you're coming from with that. I was the opposite, seeking to get my finished works to feel more like my rough sketches.
> I never really warmed to Boris Valleho's work (he used to hang in a gallery that I had work in, and I met him), but I have to admit, that guy can draw.
That he can draw is undeniable indeed. There are a few artists whose sketch work reaches that level of refinement almost immediately. Others get there after years of study and practice. Still others don't see that at as a goal at all for that stage of their process, and others still would see it as an antithesis to what they're after. Looking at Valleho's finished work, I can at least understand how his sketches are in service to that sort of end state.
Compare, perhaps, to some Rennaisance-era sketches. Typically far rougher compared to the finished works, but hardly less impressive. I'd suggest there's a great difference in what they were interested in: matters of anatomy, gesture, and composition. Of course, they were also inventing and rediscovering knowledge that modern artists have far easier access to. There's an interesting dichotomy in that some destroyed their sketch work, while others had far less interest in actually finishing anything.
I've forgotten an appalling degree of art history, so I can't readily name names, but as far as finished works go, I had a fondness for painters using relatively minimalist brush strokes, with each application of paint exactly the right color in exactly the right place.
I prefer art to be a lot “rougher” than Valleho’s work, but had a difficult time, doing it, myself; which was one factor in my eventual retreat from art.
It really depends what your goals are. I often have a problem I want to solve in my personal life, and not very much time. (Ex: code that makes the figures for a blog post.) So I write quickly, doing the minimum to get it done.
I would never do that in a work context, because the environment there is so different, but it's often the right trade-off for things I'm doing for fun.
(And I still make all the code open source because, well, it might be useful to someone even in the state it's in)
Absolutely. I don't make any value judgements at all. I am quite aware that my own workflow is not for everyone, and is not inherently "better," in any way.
I do a lot of self-discipline "tricks," in order to enforce a certain habitual workflow, and this is one of them.
Many folks get far more done than I do, using very different techniques. I just enjoy the process and the Craft, as much as I do the end result.
One significant advantage, for me, is that I never have to worry about cleaning the house before the boss comes over for tea.
I find this materialistic view depressing. Not everything worth doing is ultimately about selling your lifetime to the highest bidder. Some things are just worth doing intrinsically. Like, fixing a bug that affects a high number of people. Or solving a problem just for the fun of it.
Yes, and there are some great take-aways that I didn't know I would get when starting, like connecting to very smart people and learning a lot, as well as being accepted as one (maybe) in the community of those.
After several years of hard work a prior open source project that grew to immense popularity got me employment a few times. It wasn’t the actual project, code, or capabilities that meant anything. The only thing appealing about that project was it’s popularity.
Nobody ever looked at the code, except people interested in submitting pull requests. If you think a prospective employer will take the time to analyze the code you are either applying for an exceptional specialized position or completely mistaken.
Work on open source because you like to solve tough problems, want to grow as a developer, or because you just want to build some interesting product. Don’t kid yourself into thinking the code will immediately solve some business interest.
A part of my job is to review CVs and select candidates to interview for my team. The first thing I do is check to see if they have a github account, and if they do I check their projects. Anything that looks relevant gets a quick inspection. It makes difference to whether they get an interview, and it makes for some topics of discussion during the interview. It confirms for me that the candidate is in fact actually interested in the field, and shows be the porential quality of their work.
If you think nobody ever looks at your public code, you're wrong. It's just like wearing a bathing suit at the beach or pool: people look.
Perhaps it’s because I write JavaScript. Interviews in JavaScript, at least this year, are leet code for backend and strangely the Node API never seems to come up. The front end is islands of declarative logic in React. That’s it.
GitHub and LinkedIn profiles only serve to reinforce the job experience printed on the resume.
> Someone who managed to make significant contributions to Linux or LLVM for example might be better than the average joe.
which leads to people who want to use this mechanism to claim credit in projects they don't actually have contributions in, and because the employer doesn't actually look at the code, they cannot tell.
I recall a while ago where someone would contribute a skeleton README or some random typo fixes to many different project, and using that to make their claim to fame.
So i reject the idea that employers should use open source contributions as a metric without closely examining what those contributions are.
There will always be people that lie or embelish what they did. One of the big reasons for technical interviews is to assess how much of what the candidate claims is true.
> Someone who managed to make significant contributions to Linux or LLVM for example might be better than the average joe.
Specifically, may be better at navigating the politics of organisations. Which is a key skill at many employers - likely equal to or more important than technical skill as one ascends through the ranks.
I agree with this, plus the "it's fun" reason others have mentioned.
I started work on my canvas library (licence: MIT) 8 years ago mainly so I'd have something to showcase to potential employers. It worked: the reason I finally managed to land a job as a web developer was because someone took time to check out the library and decided the work I'd put in was worth them taking a risk on an older new entrant.
Since that time I've continued to develop the library to help me deepen my knowledge of all things canvas. Especially since I started to look at ways to make canvas elements more responsive, and more accessible. But the main reason is just the joy I get from using it to create pretty demos and animations - the library scratches a creative itch.
I got used to the idea that I'll never be rich a long time ago. Good friends are more important than money.
Many also make money with open source software, for example a classic approach seems to be to offer consulting services around your product, or hosting.
WordPress and ElasticSearch come to mind, both made a lot of money.
You also get people adding to your product for free.
But as a continuous activity, over years, what exactly is in it for maintainers to get up in the morning and trade their remaining lease on life for value to be consumed by rich leeches?
Eh... regardless of how it's generally used, I think "leech" implies a parasite that is actively harming a host. Generally users who don't contribute aren't directly _benefitting_ the author, but they generally aren't harming the author either.
The entire post your responding to is explaining what is wrong "this line of thinking" and while you may disagree you don't really argue, you just assert.
Writing the software and releasing it with a non-foss license might be a better fit for such a person. Free for personal use? Sell it for a modest fee? Put the source on github without allowing people to modify it? Many possibilities.
I work on a few Open Source libraries and they're used by companies that make a lot of money, and people often regard me as a mug for doing the hard work for free so that other people can make lots of money. The argument I give in response is that from an economic perspective, you can only make money from a unique advantage, and since Open Source can be used by anyone, it's not giving anyone a unique advantage. I'd put it this way, that any company that's not using Open Source is putting themselves at a disadvantage.
Also, lots of open source software only achieves widespread use because they are open source. If e.g. Daniel Stenberg had decided to charge for curl instead of releasing it under a FOSS license, very few would have bothered to use it, and in all probability, some other person would have written a FOSS replacement for it.
To me, it's not a problem that my code is used for commercial gain. I use the MIT licence (a permissive licence). The key thing for me is that it doesn't give companies a competitive advantage, rather it puts companies that don't use it at a competitive disadvantage. It's thanks to Open Source that I'm writing this on a system that uses 100% Open Source software (okay, maybe the BIOS isn't). A good thing about Open Source is that if a company uses it, they're more likely to report / fix bugs, which helps everyone.
> It's thanks to Open Source that I'm writing this on a system that uses 100% Open Source software
no, it's thanks to free software and the GPL. Thanks to open source you get Playstation and macOS which both use BSD to create the most proprietary system possible.
You might be looking at this wrong. The unique advantage could be first mover network effects and lock-in and then you are still being exploited. Your software isn't a unique advantage but no on else can break in and have use for it due to unrelated barriers to entry. This depends a lot on exactly what it is.
I just wrote a little script to give me some model geometry numbers. I'm sure others could use this, I wrote mine because all that exists online is half-ass Jskirpt pages that are covered in ads and offer a slightly different form of this calculation than I want.
Once upon a time I would've published this somewhere and let anyone else who wanted those numbers for a project of their own at least have a chance at finding and using my code for it.
Today, I don't have a place for that kind of thing (someone took offense to my presence last year and got me booted from several platforms). Even if I did, I wouldn't want to undertake the burden of having published something others might find useful, even in an utterly trivial context like "where do I put supports on a model railroad spiral ramp?"
Im too old, too ill, and too weird to get hired anywhere, so any code I write now is just for me. Its liberating. I no longer care about things like CamelCase vs under_score_debates and can set m y text lines at 300 char wide if i want to.
I don't understand that attitude. If you simply pushed the code to a github repo with a note that you won't be providing any support and disable the issues page, why would you feel any burden?
I did exactly that with a Heroku buildpack. They featured me in their official registry anyway. Shortly afterwards, I started receiving insults via my github commit email from people who were Heroku customers and furious that my (free + OSS + unsupported) buildpack didn't work like they wanted to. They paid for Heroku support and mistook my OSS for a Heroku product, so they felt like they are rightfully entitled to me providing support.
Half-kidding: sounds like a sales opportunity. "I'm not Heroku but I might be willing to help if you give me your company plus x". Only if the stars align in so far as the request is not insulting, you actually do happen to look for money and the requester would be willing to pay (never happens because even if "the company wanted" your contact would be in no position to decide) you'd name an adequate price. But yeah, those stars certainly won't align. The only benefit you can get from receiving those mails is a tiny glimpse into who might want to use what you made.
I'm really not certain myself wtf happened. Maybe I just fell victim to my own paranoia. Maybe quoting MLK and supporting an Amish school really are that controversial. Maybe it was the "naked lizards" video game mod.
Since i mentioned it that way, I'll also mention that I've been tempted to resurrect a site for some reason or none simply because up until last year, I had had some online presence continuously since 1994. I keep deciding not to, because I don't want to deal with the inevitable drama of offending someone by existing.
The only host I'd be happy with anymore would be someone leasing me bandwidth and an IP on a common carrier contract; and I'll stack up Pis or scavenged laptops and host horse porn if i feel like it.
I was honestly surprised that someone got offended enough to figure out my email and send me insults just because I was lazy and kept the git branches for my network library named "master" and "slave". Plus the main server supports various blacklist command line parameters for IPs, login handles, and ports.
Now the entire project is off Github and on a private Gitea.
Software is eating the world and it's mostly through proprietary licensing models. But this doesn't mean that the fight is lost. In fact quite the opposite: it means that FLOSS is more needed than ever. Generally, when a new area opens for software, proprietary software usually has a massive head start, but once the area becomes more well understood, FLOSS products emerge, and often they steal the show of the proprietary competitors, at least in the long run.
In the areas FOSS was able to get a footing, it usually remained. Web browsers have been trending towards the open core model for example, same goes for compilers, most of which are FLOSS. On the server, the GNU/Linux platform is the most commonly used one. Same goes for embedded applications including Android.
Does this translate to end user freedoms? Sadly, in many instances it doesn't. But I think it's still worth fighting for freedom, even if the only reachable audience is other freedom loving enthusiasts instead of the broad majority of people.
If I make a pencil and give it to someone, and they use it to draw a picture that they sell for $10m, they haven't ripped me off. They've added a lot of value to that pencil. I haven't lost anything. They haven't "profited from my work". They've done something pretty amazing using a tool I created. Good for them.
FOSS is the same. The idea that people are taking FOSS code and building billion dollar companies with it are somehow doing nothing of value except deploying your code is complete nonsense. FAANG companies that use FOSS software as the backbone of their tech stack are not simply deploying some code. They're working hard and adding value on top of it.
Someone takes your pencil, and puts it in a really nice box with some other pencils.
People use those pencils to draw a $10 million picture.
The box maker uses contracts to ensure they get a 10% cut of that picture sale.
Actual pencil makers gets no cut.
I can see why this would annoy pencil makers, no matter how nice the box is, or how much effort they put into sales. At a societal level it seems incentives are slightly out of wack too.
Personally, I'd rather see all the money go to the artist than add more levels of ownership, control and cuts, especially if the inputs are non-rivalrous.
The classic economics example is lighthouses, we all benefit from the non-shipwrecked ships bringing goods to market but feel like the merchants should probably contribute to their construction via taxes rather than rely on randomly charitable lighthouse builders (see: Public Goods)
> Someone takes your pencil, and puts it in a really nice box with some other pencils.
Not quite, because what you're paying for in AWS for instance is not just the nice box (and AWS glue like IAM), but abstracting away all the annoying hardware stuff you'd have to deal with yourself if you went box-free.
Particularly, it's a lot easier to scale hard up and down (and thus better align your infrastructure spending with the actual demand) in the cloud than it is with on-prem hardware. So cloud providers are billing for that convenience and flexibility because maintaining all that hardware and providing the glue between the services becomes their problem.
I'm not really AWS's biggest fan (I go full self-hosted on my personal projects and when I must use AWS for work I'm careful to avoid vendor lock-in), but neither do I think it's fair to characterize them as just putting pencils in a box.
Agreed, but I think the analogy should follow the pencil, not the person. This seems to shift focus towards that someone who made the $10m. What does the buyer who just spent $10m do with the pencil? Do they hoard it as a trophy, or does it become a tool that provides some value to society?
I, Pencil, simple though I appear to be, merit your wonder and awe … if you can become aware of the miraculousness which I symbolise, you can help save the freedom mankind is so unhappily losing. I have a profound lesson to teach. And I can teach this lesson better than can an automobile or an airplane or a mechanical dishwasher because — well, because I am seemingly so simple.
Simple? Yet, not a single person on the face of this Earth knows how to make me.
Ha! Equating the relative value and effort that went into the underlying FOSS tech to "just a pencil", is a pretty accurate description of what a company does.
In reality, many a company would put a frame around the picture and market itself as an innovative artist. There's value in the frame, sure...however...
Equating the relative value and effort that went into the underlying FOSS tech to "just a pencil", is a pretty accurate description of what a company does.
Take Facebook as an example. The first version of Facebook was essentially built on 4 FOSS projects - Linux, Apache, MySQL, and PHP. Facebook couldn't exist without them (or alternatives). But of themselves nothing about those projects represents the value that lies in creating Facebook.
Suggesting that the value in a product is within the programming language, database, server software, or OS that it's built on makes no sense. Certainly no more than suggesting a valuation picture owes something to the person who made the pencil it was drawn with. It absolutely doesn't.
FOSS applications are tools that we use to build things. They're essential, and critical, and immensely useful, and companies ought to fund the maintenance of them much more, but they are not where the value in the applications that people use them to build comes from.
Facebook's value of storing and serving images and posts of individuals is all in the tech that it is built with. Are you saying that there is nothing in the engine, body or wheels of a race car that represents its value? If your product's value requires certain technical properties (robustness, speed, conforming protocols) and you did not develop those then you did not create all the aspects that your users value.
A picture's ability to convey the art, absolutely does owe a lot to the technology (ink, canvas, culture) that was used in its creation.
When visiting a historical, oil baron's house the guide said the painting they had was a routine copy of a certain work and it was the ornate frame that truly demonstrated their wealth. Cultural signaling is a 'value' all its own.
For me, one of the most discouraging things I've found about code in general, is that there's too much of it. And it's all the same. Every project, every repo, every developer, is just writing the same code, over and over again. Countless developers in the world are spending countless hours, are spending entire careers, writing code that's already existed. Real humans, are wasting their lives and their time.
One of the best things about open source for me is that it reduces this a little. By having public and free code, you can begin to reuse others' work instead of re-creating it. It's a radical multiplier on progress. Imagine having to write log4j when all you really want to work on is creating a search engine. An individual can build a project at a level of complexity/finess that would otherwise require LIFETIMES. Every day, I get to regularly complete projects which I shouldn't be able to complete in my lifetime because of open source. And I get to contribute back to that fabric/infinite conversation. Proprietary code, although it might garner usage and benefit its users, will never be part of that fabric.
This is why open source is worth it to me. Regardless of what proprietary companies do, I'm getting value from and providing value to open source.
This feels more like a cry for help, hope the author is doing okay. Christmas can be a rough time for many people.
To answer the question though, like climate change, or whatever big issue, there's personal things you can do, there's groups you can join but we're in a democracy and pushing for things to be put into laws and then enforced is better than relying on copyright which was never really designed or operated with the best intests of society as a driver, despite that being the official spin.
I'm fine and stable, just discouraged and feeling like software, which is the only talent I have, is not good for me to work on because it may do more harm than good.
I have a good wife who is supportive and makes sure I am okay.
Thank you for the concern!
> To answer the question though, like climate change, or whatever big issue, there's personal things you can do, there's groups you can join but we're in a democracy and pushing for things to be put into laws and then enforced is better than relying on copyright which was never really designed or operated with the best intests of society as a driver, despite that being the official spin.
I think you're right, here. Laws may be what is necessary.
Not sure if it's good analogy but consider playing music.
You practice your favourite instrument and post it on the tube. Worth it.
You get to know people with similar style and taste so you jam together. Worth it.
You guys stream the sessions on Twitch and got fans. Release EPs on bandcamp. But it starts to take too much personal time away from you. Worth it?
But the fans want it! You'll have to decide. Sometimes you work for months on an album. People cheer on the live stream, but not a lot of income from selling the art. Worth it?
- you have this idea that you should be working on FOSS because FOSS is great and you should somehow contribute
- you want to create FOSS for the sake of creating FOSS. The world doesn't need more code, it needs less. There's plenty of garbage code floating around
Regarding OP's comments on GitHub Copilot - I agree with the sentiment but I wouldn't worry too much. If the "stolen" code snippet is easy to write then it's really no big deal it it gets copied. If it was difficult to write then the person "stealing" it probably won't be able to understand it, which will lead to trouble down the line. It's not (yet) the same as ignoring the license of an entire repository.
> Regarding OP's comments on GitHub Copilot - I agree with the sentiment but I wouldn't worry too much. If the "stolen" code snippet is easy to write then it's really no big deal it it gets copied. If it was difficult to write then the person "stealing" it probably won't be able to understand it, which will lead to trouble down the line. It's not (yet) the same as ignoring the license of an entire repository.
> The logging companies learned the lesson, and it’s time the software industry learned it.
Nitpicking from the main point, but logging companies are still destroying our planet/forests. They haven't learnt a single lesson. The most valuable woods come from very unsustainable exploitations far away (from my perspective, eg. Philippines/Canada), and as for the so-called "sustainable" local exploitations here in France they earn the label by destroying entire ecosystems and replanting between 3-6 species over the entire area after they've chopped everything down.
Creators and artists are making money hand over fist all over the internet. From educational courses to music loops. And copyright plays a big part.
But the humble software library developer is on another planet. For them its sponsorship or nothing. Otherwise their work wont carry the virtues of "free" and "open".
> I have written licenses to make GitHub hesitate before using my code as input to Copilot
Microsoft has claimed that consuming code for Copilot is fair use, and therefore does not require permission from the copyright owner, so how would a license—an offer of permission under limited terms—impact that at all?
> But even if I solidify the licenses, what stops GitHub from ignoring them by claiming that their Terms of Service allows them to use my code?
Well, the fact that arguing the ToS would be a retreat from their position that they don't need permission in the first place, whether or not the code is hosted on GitHub.
Yeah, the license does not matter because if the fair use argument does not hold then Copilot would violate even very permissive licenses like MIT since Copilot does not do attribution.
Are you asking the wrong person? I personally believe their fair use argument is both morally wrong and legally dubious (but I am not a lawyer). But my only point which I bothered to make in my comment above was that if they violate licenses (which I suspect they do, but am not sure of) they violate all licenses except outliers like WTFPL. So picking a licens which does not permit Copilot is trivial (assuming copyright law restricts things like Copilot).
It was more of a general question. Copilot seems to be software to undermine FOSS, and fits in a general pattern ie. the purchasing of github, VSCode (I'm learning Doom Emacs now). It's all the same things as the past 3 decades though. Nothing new, just new rat traps.
I was astonished by amount of people who have strong opinions on quality of log4j ... and apparently don't know what logging library does, don't know why projects use libraries and generally don't seem to know much about development ... while writing in development forums.
A better question, should we change the license of all FOSS to require companies to pay a support fee so that a lot more people can work on FOSS full-time? Or maybe, should we create a company like redhat that hires people to work on all FOSS projects and is supported by industry and governments?
I think both Docker and Gitlab have gone this way. Docker for Windows requires a commercial license for a company over a certain threshold in revenue/employees. Gitlab has a free community edition and an enterprise edition with the bells and whistles you'd probably want in that context. IMO, this is the future of open source in general: different licensing terms depending on the user/application.
However, both Docker and Gitlab have professional teams behind them. It might not be the case that a particular important FOSS gizmo's creator is interested in writing up/enforcing better licensing terms or providing the maintenance a commercial client would expect.
The blog is really mixed up and conflates different issues.
It uses a tiny set of not representative examples to validate a conclusion the author has already come to.
I totally agree that some people and companies take advantage of what others do for free, but that is not new and would be true if you said the same about the relationship between employees and employers or similar. It’s also true that when people go above and beyond someone somewhere could blame or take advantage of the extra those people gave - again not new and totally possible in any scenario or market. We’ve all been there and bought the T-Shirt. The author has expectation mismatch, perhaps taking a break and then making a final decision is best.
My advice is for the OP to make his build system GPLv3 licensed and sue anyone who willfully violates that license.
Open source still has lots of life left in it, but copyleft licenses are now increasing in importance, and the days of letting it slide when a company violates your license are now gone.
To decide on what license you want, ask yourself, do you want this to improve software as a whole, or do you want this to improve FOSS? Does the image of proprietary software benefiting from your work soothe or anger you? Nowadays, it's becoming increasingly important to choose the latter. If you don't care what happens, you can license it as MIT or something. There are still valid cases for that.
> My advice is for the OP to make his build system GPLv3 licensed and sue anyone who willfully violates that license.
Except that filing a lawsuit costs money, and if by nature your product is free, where are you getting the money for said lawsuit, and what damages are you suing over? You might be able to get a cease and desist order for copyright, but then what?
Yes, absolutely. Selfish personal reasons to work on open source might include not wanting to run unseen software, being able to take your work to subsequent engagements, community network effects including new features, maintainership, translations, issue reporting and resolutions. Moral reasons might include contributing to tools that are available to all. Commercial reasons might include not being vendor-locked, ensuring there is no secret DRM system, ensuring that code and files can be accessed and modified far in to the future even if you lose a decade/team/team member/compiled binary/compilation toolchain, etc.
It seems to me that FOSS has become too open. Stallman is, as usual, probably right with his more aggressive GPL licensing that makes it much harder for proprietary software to exploit FOSS.
Although I agree with many of the sources of frustration mentioned in the article, there is a way:
For most software projects, there should be a way to buy a commercial support license.
For many, such a license should be required for use in any org which is over X employees. Even if not enforced, this way a conscientious dev can justify for paying for the license.
In addition, for some of the deeper "plumbing" projects, that cannot be really charged for independently, they can included in the licensing of some of the projects that use them, as a clause for certain types of orgs, etc.
Something like - using X also requires a license for log4j of $50/yr - where that could even be a pittance, but included in many projects that benefit.
This will make the software much more reliable, while actually giving a basis for open source devs to have the funds to support themselves, feel self worth, and pay for a lawyer to protect their IP for things like TikTok's move.
As an open source coder, I theoretically love the above, but don't know what license, how to set it up, or how to handle the contracting and payment. In addition, I don't know how to justify my commitment - what exactly am I promising and how.
Nonetheless, if someone like Gitlab were to deal with figuring out the technical steps of the licensing and payments, you bet that I would be happy to move my code off GitHub for it (well, my code is already off GitHub, but whatever), and I bet many others would follow suit.
> As an open source coder, I theoretically love the above
The above is not open source, it's a pretty common free (gratis) for limited use, paid for other use commercial/proprietary license of the type tons of non-open-source software uses. (E.g., Visual Studio.)
It is most certainly Open Source, in that the source is open.
In the case where a support contract is available, but not required, it is no less free than any other free software, but there is at least a chance that it might be bankrolled, as well as the projection that this is a professional project.
Even where the support is required, it is my understanding of RHS that that won't impede on the title free, since the usage is not what you are paying for. But there we are quibbling semantics ;)
But the GP wrote: “For many, such a license should be required for use in any org which is over X employees” emphasis mine. If this requirement comes from a clause in the license then it violates the open source definition https://opensource.org/osd because it imposes a restriction on the use of the software.
IANL, and am always willing to learn. What clause does this violate exactly?
I would guess that you mean one of the following, but I do not see any violation:
> 8. "not depend on the program's being part of a particular software distribution."
> 9. "restrictions on other software that is distributed along with the licensed software. "
> 6. "restrict the program from being used in a business, or from being used for genetic research"
In addition, that is the "The Open Source Definition", but the phrase "open source" cannot be copyrighted (there is legal precedent, IIRC with Lindows) .
According to the DoD, Open Source Software means "software for which the human-readable source code is available for use, study, re-use, modification, enhancement, and re-distribution by the users of such software" [0]
In practice, there are many "Open Source" licenses that allow paid licensing [2]. The most well known competitor, FOSS, only slightly differentiates itself with the phrase "Open Software" and openly allows fees.
A software license that prohibits use by individuals or groups (of any size) who do not pay a fee would violate section 5 of the Open Source Definition:
> 5. No Discrimination Against Persons or Groups
> The license must not discriminate against any person or group of persons.
It's okay to charge for open source software, but for software to be open source, the license cannot discriminate against users who do not pay the developer. This means:
- If someone pays for open source software, the license cannot require the user to make any additional payments. This prevents the developer from imposing a recurring fee to use the same version of the software via the license, but the developer is still free to charge for future software releases.
- If someone pays for open source software and then shares it with other people, the license cannot require the people who use copies of the software to pay the developer.
Software releases under your proposed license would be source-available, but not open source. As a sibling comment mentions, the DoD FAQ you linked describes the Open Source Definition as 1 of 2 "industry review processes" that a software license should pass to be considered open source.
Note that both the FSF, OSI and DoD (in your own link) agree that in practice the Open Source Definition and Free Software Definition are equivalent. So if you believe your license is open source but not free software, then you are very probably wrong.
Let us first agree on what we are arguing. You proposed that:
> For most software projects, there should be a way to buy a commercial support license.
> For many, such a license should be required for use in any org which is over X employees.
I interpret this to mean that: You impose in the license of the software that if you are an organization over X employees, you are not entitled to use and distribute the software under that license instead you must hold the commercial license or you must in addition to the normal license hold the commercial support license.
In the first case(where the normal license grant does not apply to sufficiently sized orgs) I believe you impose a restriction of use on the software in a specific field of endeavor in contradiction with section 6. in the OSD.
In my view it is clear that if you require an additional commercial support license for some users but not everybody you violate section 7. as the rights to the program is restricted for some parties (orgs with over X employees only has those rights if they also acquire a commercial support license):
“7. Distribution of License
The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties.“
Now it might very well be that you had another mechanism in mind for imposing your requirement of “Orgs over X employees must hold a commercial support license”. In that case it might very well be a different mechanism in the definition that conflicts with your mechanism, but I cannot see how you can achieve your aim of imposing a requirement on usage of the software for some users without contradicting the spirit of the open source definition which says that you must grant the same rights to all users of your software.
I cannot find in your link [2] what you mean by the phrase: “In practice, there are many "Open Source" licenses that allow paid licensing [2]”. Usually when people speak of paid support licensing for open source (or free software) that is an OPTIONAL support license or a separate commercial license(see the QT license options) that you acquire the software under, and it does not conflict with either free software or open source software. My opposition is only your stipulation that the commercial license be required for some users of the software, and it is this requirement part that I claim conflicts with the Open Source Definition. Note that it is perfectly valid to charge people to obtain your open source software from you, but you are not allowed to impose restrictions on their ability to redistribute that software (including source) to others for free, hence this is probably not the solution you are looking for?
Stephan Kinsella (who's a patent lawyer) uses an example of some clueless person writing a book and in one of the pages he says, "If you possess this book for more than a minute you are obligated to pay me $1000 per month", and he puts this book on a park bench waiting for someone to pick it up. He later tries to sue the person who picked up the book for not paying their due.
Kinsella uses this example to illustrate how some people have no idea how contracts work.
I'd personally not work on SW that could be used by someone else commercially at zero expense. In that sense I never understood why people moved away from GPL and started using "do whatever you want"-license types.
Funny trivia. I spent considerable time working on corporate SW that acted as a gatekeeper for GPL-like licenses. It seems that one of the worst things a corporation can do to itself is use free SW with such a license. Nope. And why should they? There are so many options with so-called "friendly" licenses. Friendly to the corporation that is.
I see it as another aspect of huge corps evading any kind of taxes and IT-crowd actually being OK with it. I mean an unknown dev would be more than proud to do free work for K8S (and many do) just for the sake of putting it in her CV and _maybe_ cash out on it with a better paying role later on. But the fact remains. She, essentially, worked for free for Google, Amazon, Red Hat, etc. All the same as she is OK(ish) with them tax evading because if you get to work for them you'll be extra rewarded (unless you disagree that much of the huge salaries in IT are down to tax evasion).
In any case if you approach FOSS romantically I think you're in for a big let down. It's some form of business transaction. Nebulous and tricky but business nontheless.
> In any case if you approach FOSS romantically I think you're in for a big let down. It's some form of business transaction. Nebulous and tricky but business nontheless.
That it one view. However I for one did quite some work on opensource work, where all I got out we're interesting problems to solve. There I didn't care who is using it in the end. I created a solution and maybe got feedback from people smarter than me on the solution. This is more since than business. (And yes, with other projects I was able to get attention on me for getting jobs and some I do for work. But no, it's not all about business and money. My job pays enough and some things are fun.
I think all of these discussions revolve around singe point: people want all of the benefits of working on FOSS - working on what you love passionately, working at your own pace, whenever, wherever, not being responsible to anyone but yourself and also have access to large audience of developers that will use your software, but they also want all the benefits and incentives that corporate/company structure offers. I don't think these can reconciled.
In my view it's about the interface. Any utopian community must interface with the rest of the currently-not-utopian world. I suspect the utopian aspect can only be maintained if that interface is very small and restricted. Otherwise the property-based wider society will grow to dominate and maximally exploit the utopia, as is its nature. This concept is explored in The Dispossessed by Ursula K. Le Guin.
I work on an open-source program full-time, being paid to work on it by a company that makes a commercial product overlaid on top of it. I don't feel like the company making a product based on it diminishes the work I do on it at all. We have a fairly vibrant community of users of the OSS software. I feel like any work that I contribute as a paid employee also enriches those users and their individual use cases for it.
Of course it is worth it. You can make very good living as remote-guru-consultant with total freedom. All while making similar money to FANG employees (counting stocks, high cost of living and taxes).
OSS developers do not have to be unpaid doormats. If I would be log4j dev, I would probably just wipe out all JNDI related functionality from project. Companies who need JNDI for backward comparability, would have to pay for support.
> OSS developers do not have to be unpaid doormats. If I would be log4j dev, I would probably just wipe out all JNDI related functionality from project. Companies who need JNDI for backward comparability, would have to pay for support.
This. Backwards compatibility is, as a general rule, not fun. And if you're not coding for money and you're not coding for fun, what's left, exactly?
Before FOSS contributions looked good on résumés, people just solved problems and made their solutions freely available so others would not have to solve the same problem again. Once in a while you'd receive an email thanking you for that, more often than not, you'd not get any feedback at all. But that was OK, because it all was just about solving your problem, so the reward was there.
Even the words "And remember, there are people bashing the maintainers for screwing up something they essentially did as volunteers!" are to harsh, if you ask me. Everybody makes mistakes and it can be extremely annoying to have to fix something when you don't get paid for it (it's your own time). I know this because I run my own "cloud" back-end, when it breaks, I get annoyed but I got to dependent on it to ignore it even though I started it for the fun of it. Now magnify this feeling by a million^million because the whole world is breathing down your neck and sometimes even bashing you.
Btw, I saw this tweet about OBS now many times and I keep wondering why Jesus would steal from OBS :b
If I were higher up the tree in my company I'd dump money on these guys. Or at the very least set up a "donate back to open source" initiative, perhaps based on economic calculation and amounts of software used. Now that I think about, maybe I'll start such an initiative, see how far I can get it.
The title is a personal question. You could ask the same thing about collecting stamps, writing fanfiction, staying together with a so-so romantic partner, being an active member of a local church, etc. Maybe all those things felt great to do, back in the day. But now...
Most of the dark patterns he mentions are more (cough) features (cough) of monomania-type capitalism than of FOSS. Or just human nature. Sitting on your fat ass and blaming the poor guy who did all the work was really old before the pyramids were built. Same for the tragedy of the commons.
Open source is great for marketing. You can market yourself as a developer to your peers. You can market your proprietary software by open sourcing a small but useful part of it. You can market your business/service/protocol/whatever else by open sourcing the software to best use it.
If you do OSS because you want others to use your software but you're afraid to charge for it then just stop. Of course you'll be disappointed. The whole point of OSS is you put it out there, others use it, fork it, add to it, commit back, and because of pooled efforts now the software is better.
It is, even if I don't contribute super-regularly I primarily fix issues that bothers me in XFCE as well as Mate.
That of course will also benefit others and I feel my time is well spent.
Working with different code bases is also great practice and one always learn something new.
The problem is some people are married to old projects that do not offer them nothing anymore. Their contribution has been valuable , there is no need for continued commitment to maintain the social credit. Wish there was some "official" open source title they could print and frame it on their wall as forever proof of their valuable contribution. Just drop them, do something new, life is short.
A lot of contributors are from countries where cost of life is much cheaper, and they are happy to contribute as they don't compare themselves. But in the end, being kept busy maintaining an open source project for the benefit of rich people elsewhere is a bad use of their time resources.
Looking at my own experience, as a full-time employee:
- I keep learning something in the process
- It keeps me busy, if there is downtime at work, like when we are waiting for a management decission or waiting for some other component to complete. (that is of great value to me, right now; as it keeps me from being depressed)
- It gives a deep feeling of satisfaction, to see the working result
- I am my own boss in the process
So yes, it is worth it, but it does not directly translate into money. I guess it might be helpful, if I am forced to turn to work as a contractor; in this case it would be a kind of showcase.
Define "worth". We were never in it for the money. I maintained Dia for 8 years and never saw a penny. If you don't like your FOSS project being used by evil capitalist megacorps, put an anti-commercial license on it.
Right, you cut to the heart of things. There is a licensing "race to the bottom" happening. Which makes sense from the demand side (of course people want free). But where does the supply side come from?
Why does the floor keep constantly dropping? Who are these developers, always willing to do more for less?
In my experience:
* Some of it: people who open source their hobby projects. The personal upside of investing resources into open source is fun & practice.
* A lot of it: academia. Universities have an infinite supply of indentured labour in students and postgrads. The personal upside is grades and graduation. The institutional upside is publishing and grant money.
* Lately: large enterprises. These have the resources to throw high quality engineering behind their open source projects (unlike the universities, where quality has always been a struggle, due to tremendous "developer" churn and different incentives). The personal upside is salary; the business upside is $$$ via "commoditize your complements". Added bonus: open source serves as an HR tactic too.
Put together, the demand for the "race to the bottom" is there and so is the supply. And so it happens. The machinery behind "If you don't do it (with a permissive license), someone else will".
I also see what you're describing, but I see it as a good thing. This is software available for me or anyone else to use for anything we want. This has many benefits, including that it makes everything else just a bit cheaper because it can depend on standard widely used components.
But I haven't stated my preference, one way or another :-)
The "bottom" judgement in "race to the bottom" was quoted from the OP.
For what it's worth, I personally contribute or have contributed to open source in all three forms that I identified. And exactly for the incentives listed.
I hate to be contrarian but I can't understand what the point of this article is. It's a bit meandering and quite cynical.
For example, I agree that the company behind MuseScore has exhibited some bad behavior that is worth discussing, but their attempt to introduce opt-in telemetry to Audacity is difficult to classify as adding "spyware."
Also, the article meanders through a lot of different points that have very little in common other than being cynical. For some reason, it starts talking about stuff that isn't related to open source. It also talks about a lot of different issues regarding open source. I don't understand what the overarching message is, except for something along the lines of "all software development sucks."
The conclusion also strikes me as a little bit dramatic too:
> I’m stuck between a rock and a hard place. If I make Rig Open Source, it could very well do more harm than good, regardless of whether I get paid! And if I don’t, it won’t get used anyway.
1. I don't understand why it's likely to do more harm than good, or by what measure. How does this tie into previous examples? How do you expect it to be "exploited"?
2. It doesn't seem to approach the completely valid question of why developers don't like using closed-source tools.
3. It seems to imply that the mere act of releasing software should entail some kind of payday or recognition, but that doesn't make any sense. I agree open source is undervalued, but so are a lot of things. Ask people who draw if they feel like their skill is valued appropriately; it's not. The reason why businesses are able to make money off of software is because they don't just write software, they also sell it. Even if you're trying to live off of donations, you still have to "sell" it. Look at how well-branded successful projects like Blender and Krita are! And a lot of projects use the "progress report" blogging format similar to the one successfully used by dolphin-emu to engage with the community. It's a lot of non-programming work.
I don't mean to devalue anyone. I can just about guarantee that if you do the selfless job of putting quality open source into the world, it will never, ever be paid at market rate. But that's the price you pay for being able to do whatever you want. An artist, 99.99% of the time, cannot make money creating whatever they like; most would probably only ever find serious success in graphic design. I think open source is a wonderful asset and has produced some amazing artifacts for us to enjoy that have done enormous good for the world. Can you even quantify the amount of good done by having a robust production-ready operating system used by everyone from budding geeks in gradeschool to production servers at Fortune 500 companies?
I hope you find whatever you are looking for, and I don't like being dismissive. But I urge people to see the non-cynical side of this.
> Also, the article meanders through a lot of different points that have very little in common other than being cynical. For some reason, it starts talking about stuff that isn't related to open source. It also talks about a lot of different issues regarding open source. I don't understand what the overarching message is, except for something along the lines of "all software development sucks."
I agree that it meanders, but I don't think I'm cynical, just discouraged.
The real point of the post was to ask the question in the title, explain why I am feeling that way, and ask people to contact me (the last line), which they have!
> I don't understand why it's likely to do more harm than good, or by what measure. How does this tie into previous examples? How do you expect it to be "exploited"?
Rig is a build system, which means that if companies steal it and modify it, they could conceivably make it insert a backdoor into every piece of software it builds. (See Ken Thompson's "Trusting Trust".) That is an enormous potential harm, at least in my opinion.
> It doesn't seem to approach the completely valid question of why developers don't like using closed-source tools.
You're right, and I honestly think there's no problem not liking closed-source tools. I just happen to think it's hypocritical to want Open Source, but push closed-source on end users that don't know better.
> It seems to imply that the mere act of releasing software should entail some kind of payday or recognition, but that doesn't make any sense.
This is not what I meant, sorry. It's more that I want my software to do more good than bad, and I'm not sure it would.
> But I urge people to see the non-cynical side of this.
I think the problem is the word "free" in open source. Along the axis of freedom, this is a strength. You can read the source, figure out how it works, and adapt it to your uses. Or, as my senpai (pity English doesn't have a single word for "talented co-worker that demonstrates the ideas you haven't thought of yet) puts it, "I can read the source for a feature I like, and then I know how to do it, and I can avoid the features I do not want." This isn't copying, this is studying. You read the source to understand, then write your own implementation that better fits your use case.
However, there is another axis to consider: In English, "free" also means gratis. This means that no one with recognized authority is enforcing a shift of resources in exchange for using the code as written. Yes, you can ask for resources, and there are many ways to do so, but without enforcement, you get the most common behavior of "thank you, I will" and all the attendant problems, be that of pushing the license to limits, finding loopholes, to lack of funding, dead projects, to (possibly) self-interested actors placing features in open source that they can later exploit because no one really audits the code (See also log4j. I am not saying that a government placed something exploitable in the code. I am not saying that a private actor did so. I am saying it is interesting that a piece of widely used infrastructure has had an exploitable feature for so long).
Criticism aside, how does one provide freedom to learn and explore while curtailing the free rider problem?
A first-generation solution: Sell copies of your source code for the resources you need to maintain it. One example would be to make the source available once money has changed hands. You cannot stop the buyer from turning around and giving the source away for free: Once you have made a sale, you have made a sale. That particular copy of your source has created all the profit it will create.
A second-generation solution: Sell future updates. This is an idea I have been playing with, in terms of a business plan. Your source is free (both gratis and freedom) and you sell tokens. The tokens are capable of being purchased separately. Tokens can be exchanged for votes to determine which new features are developed and which bugs are fixed. They key is in selling the tokens.
It's fun to see someone else describe the tokens for votes model. I've been working on my first 3D game trying to think of how I would support it if it's OSS while giving players direct input about the direction and what's implemented. Definitely a pipe dream for me right now but I'm really hoping I can manage to get to a state where that's a problem I have and people to collaborate with on solving
> Criticism aside, how does one provide freedom to learn and explore while curtailing the free rider problem?
Make FOSS free for individuals. Developers can download, read, integrate, etc. the code or package for free at home on their personal PCs.
The moment FOSS software enters the corporate or academic space, it becomes a licensed product requiring fees and statements of work to be paid for licensing, use, and changes.
There are “free for non-commercial use” licenses, but that is inherently a non-free license. If you restrict what someone can do with the software, it’s not free as in speech.
As a fresh CompSci graduate, is it worth it/valuable to try and work on OSS; or am I more likely to just get in the way? If so, what are some good resources for getting started?
Thr biggest risk is that your pull requests will be ignored. You won't be in a way at all. Even very good pull requests are often ignored for reasons unrelated to quality. Don't do anything big before you are reasonably sure the project will process your commit.
Surf through projects to find ones that seem to be interested in contributions. Red flags are many ignored unresolved pull requests or too much hostility in project.
Some projects have issues labeled with "beginner friendly" or some such. Have a look there and try to fix something. If it turns 9ut to be boring, move onto another project.
It can be. Firstly if you are very passionate about something it can be a good way to learn about it or even end up pushing the state of the art in some cases, so it can be worthwhile as any hobby is.
But also a lot of companies take it quite seriously now so it can be good for your resume particularly if you are not in the industry yet and want more experience or some references of your prior work. So it can be worthwhile even if you aren't completely passionate about it to the extend you would be content to always do it as an unpaid hobby.
It's not good to assume you will make money directly on your own project or some niche project, but there are lots of established projects which are in demand in the industry and you would be able to make money working on them. I work on the Linux kernel which I started as a hobby and I've been able to take my skills between several different companies and continue working on the same software (although different areas) which has been good for me.
Not to say you can't get transferable skills or relevant experience working on proprietary software and some may prefer the challenge or variety of working on different code bases at different jobs. So proprietary software is pretty on-par in those respects. There are a lot of areas where proprietary software is ahead too so if you want to work cutting edge software in a particular area, open source might not be the best option for you.
As far as getting started, start with working out what you are interested in and want to work on.
Absolutely. There is infinite work to do, lots of it impactful, lots that can lead to jobs working on open source, and lots that definitely will not but is really needed. As a newcomer to OSS, you might want to try one of the paid OSS internship programs like GSoC or Outreachy, if done in the right area those often lead to jobs at open source companies. Outside of paid work, the best way to get involved is to use OSS and fix any issues you find in the tools you use. I've worked on everything from the Linux kernel to Windows hex editors that way. Many projects will have pages about how to help out, for example I've included Debian's below.
that's the wrong question to ask - the first question to ask is whether you have some aspect of a project that you enjoy working on (or have a project of your own that you enjoy working on).
If your goal is to put your name in a well known project for marketing purposes, then i'd say you have the wrong goal for doing OSS.
> It makes sense why there is scarcity; after all, this is work done by volunteers in their “free” time.
This is the big fallacity here, although I'm not sure why "free" is in (scare) quotes. FOSS isn't necessarily volunteer free-time development; afaik for example vast majority of Linux development is done by salaried engineers as their day-job. That is the way things should be done imho.
I find thins point of view equally absurd as all the abuse on maintenners of Foss.
It is standard for production code to rely on third party libraries. Not just standard, but the opposite is considered bad thing - you are not supposed to implement everything from scratch. If you do, you will end up with more bugs and issues. There is nothing, absolutely nothing in development last 30 years that would say "it is bad to use open source libraries".
Yep. Log4Shell and Heartbleed were nasty security bugs, but imagine living in a world where every single software shop wrote their own logging libraries or SSL libraries. 99% of them would have far worse vulnerabilities. It would be like '90s php cowboy coding.
Funnily enough that would make the world more secure since a security problem found in one logging library might not be a security problem in another logging library. So you have thousands of firewalls instead of a single point of failure (the shared library). Making it very expensive for the attacker.
Using third party libraries in production libraries, regardless of its license, means you audit, vet, and test as much as possible the consequences of bringing in the library. And going through the same process every time you update the library. "Who does that?" Good software engineers do that.
That is just not a thing that would be expected or normal. Not for run of the mill commercial software
It would also be irrational. The rare security issue like this is kot a good enough reason for such massive undertaking. You manage risks, you are not supposed to act purely out of fear.
> Good software engineers do that.
The amount of effort required would necessitate management sign up for this. And they won't, because it is not rational thing to do for majority of software.
Where did I say you should develop everything from scratch? I'm talking about auditing, updating, sharing revenue with the main FOSS software you use.. Being responsible with your software to minimize attack vectors.
That should possibly be something that is added directly to the licenses, you can take my product free of charge, but if you want changes you have to pay me at this rate. Put contact details and an expiry date on the deal so people can't get jacked up with very old prices on very old versions. That would also encourage people to keep thier 3rd party inclusions up to date. I don't think that would pass muster as an OSS license but maybe a built in support contract should be a feature of the licenses, one that earns people proper money that makes OSS a model that supports maintainers.
I like doing OS work, because it has trained me to do better work. These days, I like to open-source pretty much everything I do. It’s not very popular, and that’s fine with me. I still write every one of my projects as if I were doing a major-league infrastructure project; to be used by millions. Helps me to develop good habits, and I don’t need to worry about the quality of my dependencies.
I eat my own dog food. Most of the work I do is SPM modules, which I use in larger, aggregate, development work. They are often “spun out” of my larger projects, as I proceed. I may see that the section I’m writing, has use outside of the main, so I stop work on the larger project for a few days, while I extract and develop the submodule as a standalone project; complete with documentation and testing. Feel free to check out my work. My GH handle is the same as my HN handle. I stay busy.
Just a very tangential note about the last part of the post
> I can't even get a job
IMHO, making a single contribution to an important FOSS project (e.g. Linux kernel, a major programming language or a widely used library), although not easy, will definitely land a job very easily for anyone.
Don't mean to contradict your experience, but IMHO, yes.
I think that being an upstream FreeBSD contributor will make it easy getting a job in some areas/companies. It speaks much louder than (formal) qualifications IMO.
I never work on FOSS. I work on software because I need it for me, and make it free for others to use. The question of whether it's worth it is moot, as yes, it's worth it because I need the software for myself.
I find that working on FOSS while on a big employer's payroll is the move these days. Every tech company is investing tens of millions of dollars or more in open-source and pays devs well to work on these projects
The problem here is having any care for platforms such as twitter, tik tok, github. These problems are the same issues they were 20 years ago, and why FSF states it's about Freedom.
Those are not problems with FOSS as such - they are problems with the current economic system allowing companies like Google or Facebook to parasitize on society, including FOSS.
I could see it if you use the project for proprietary purposes yourself and are not the only contributor, or if you want to reach a wider audience with the project. In general though I'm surprised how large the permissive OSS ecosystem is, but I'm very thankful considering it makes my professional life easier
It's not, but it's not what the author is talking about. He's mostly talking that FOSS is a thankless job creating artifacts that will get appropriated by some greedy corporation.
Appropriated generally means taking without the authority to do so, which isn't true with free software. It can also mean to take exclusive control of, which somewhat works with further changes being proprietary.
Groups breaking the license is relatively uncommon, and even now it's possible that tiktok will rectify the violation. I didn't get the feeling you were focusing on license violators with your comment, but if you were I guess either definition works.
I find the entire notion of FOSS contributors looking for "their cut" to be a flawed understanding of what FOSS is, why it exists, and how it is supposed to work. This is viewing FOSS from a very specific perspective that's associated with capitalist economics and broadly how it treats intellectual property. It's as if some developers committed their code to projects expecting some sort of informal, unspoken, "scratch your back..." sort of patent agreement. If you want to use FOSS to make money, then go right ahead. If you have some kind of philosophical or principled view that finds the notion of for-profit software abhorrent, then don't--but also don't then expect those who did to turn around and toss a $20 bill at you. You aren't entitled to part of their success. What you are entitled to is the freedom to take the same FOSS they used and have a go at creating something of your own. This is the compact. If you find it distasteful, then do as the author did and ask yourself if it's really what you want to spend your efforts on. I personally think there is a great deal of inherent value in FOSS, and I have never for one moment thought that it's some zero-sum game where anyone else's behavior, beliefs, approach, success, or failure in any way subtracts from what I can achieve.
A lot these philosophical debates around FOSS remind me of similar discussions regarding socialism and anarcho-communism. There is a great deal of useful thought and objectively good ideas to be taken from these socioeconomic theories. I subscribe to a considerable number of them, and put forth a considerable effort to put into practice the values and beliefs they espouse. But pragmatically speaking, free-market capitalism and constitutional democratic republics are going to be the dominant economic and political systems for the foreseeable future. Certainly my lifetime. So every time I encounter a fundamentalist or someone who flatly refuses to engage with any entity or ideal that runs counter to their anarcho-communist orthodoxy, I cringe with the anticipation of hopelessly idealistic platitudes and the associated injured ego that the greater world won't "listen" and fall in line.
Yes, FOSS was/is/will be exploited by dishonest actors. It will go unappreciated by the large majority of those who benefit from it. It will never be as commercially viable as other more exploitative business models. It will likely remain an esoteric niche, even if it continues to be the buzzword darling of the tech industry. Twas ever thus. Just remember, you can't write code if you're wringing your hands. We contribute because for us personally the benefits outweigh the risks/burdens. We do it because we believe in the free and open exchange of ideas. We do it because we find satisfaction in the act of creating novel things and sharing them with others. We do it because we want to give back to a community that has already provided us with considerable value. If you're doing it because you're looking for glory and wealth, I invite you to look elsewhere. Viva la revolución!
They are putting it wrong. You do not work on open source for compensation, but because you want to.
People who got into opensource with sole aim at scoring high profile job with some dotcom make no good for the state of opensource community.
Big, high profile open source projects die from maintainer/contributor dilution who confuse supporting an oss project with full time job.
There is a critical mass limit of such people introduced into OSS projects, past which irreversible "toxicity chain reaction" starts. Then "Foundations," "Steering Committees," "CoC councils" start to grow like barnacles on the body of the project, and it soon dies because normal people can't, and wont do this stuff.
"Since companies steal Open Source software without a care in the world"
If you don't want companies to use your code for free, don't publish it for free. If they violate the licence, presumably it is a case for the courts.
People have different reasons for working on open source. Some want to make money from it, others don't.
As an example, I don't know the full ElasticSearch story, but if Amazon's fork was legally allowed by the license, it worked as intended. People insist on open source precisely because they don't want to be dependent on one vendor's decisions.
Isn't ElasticSearch worth billions? Would they have become as popular if they hadn't been open source?
> If you don't want companies to use your code for free, don't publish it for free. If they violate the licence, presumably it is a case for the courts.
Good look to the OBS team in pursuing legal actions against ByteDance/CCP.
But the question is, should that be a reason not to contribute to open source? Also they do steal proprietary stuff, too?
What about child pornography, people hosting it using open source software? Seems like a better reason not to contribute.
>If you don't want companies to use your code for free, don't publish it for free. If they violate the licence, presumably it is a case for the courts.
The FOSS that was imagined by Stallman, where end-users could actually use FOSS products in their everyday lives, is not possible under capitalism. So what you have instead is effectively a network of semi-public property primarily for industry use. But, just as anything else that industry cannot turn for a profit, FOSS is and will always be in the lowest of priorities, if a priority at all. Cheers to Stallman, but at this point the future of FOSS will have more to gain from the work of Karl Marx.
Just installed Chromium instead of Chrome on my linux workstation. Heck, you can even deploy your own private cloud locally with FOSS.
It's all a spectrum, with free learning material everywhere. Yes, some of thr licenses and agreements are less free, but in truth, never before have so much been available. You can break that golden cage. What you put attention on matters.
For average end-users, “use a linux based operating system” alone comprises a mountain of barriers, but most are rarely even approached because they’re preempted by lack of reliable hardware support and lack of support for staple applications like Word, Excel, and Photoshop.
Is this still true? The latest version of Ubuntu will run fine on most laptops that Windows will run on, and LibreOffice provides an equivalent to MS-Office. I'm not sure about Photoshop because I don't use an image editor, but in the Open Source world there's Gimp, Krita and Pinta for example.
It is getting easier. There was a time when I, as an "IT professional", dared not use Linux for the unbearable amount of pain that I would experience in wifi drivers, screen resolutions and support, et c. It is absolutely, objectively getting easier to use the linux ecosystem.
End users have no problem -using- a Linux computer. My 75+ year old mom uses it and can do everything she wants. Mostly things she wants to do are web-based. A Chromebook would probably be fine for her too.
No, she didn't install it herself. But she never installed Windows her self too. And yes I had to fiddle a bit with Wine to get her online bridge (the card game) program working.
For older people things like W11 upgrade being pushed is hell. They click a button that popped up without knowing what it will do and if everything goes well the desktop has changed and the don't know where to click anymore.
If the upgrade doesn't go well they are entirely lost.
Is CurlFtpFS still developed? Last time I considered using it it looked abandoned and there was some regression from years ago which supposedly made it really slow. I think rclone offers pretty much the same functionality and more?
It's not so much generosity, but a social matter of course that people help each other. It's nice to be appreciated. But one usually also benefits from the help of others and shows them appreciation. It actually only becomes generous when you give far more than you receive. As an open source developer, I receive at least as much as I give.
> I have written licenses to make GitHub hesitate before using my code as input to Copilot
I thought the solution was to treat FOSS as CC0 (public domain) [1], not create yet another license nobody's going to care or use.
CC0 is probably a better license for most FOSS & probably close to what happens in reality (sans a few exceptions) as TikTok and Copilot examples show.
* Don't work on FOSS that supports a SaaS or proprietary product. You're enriching someone else's ecosystem for no money. You take on the communication bandwidth and issue load of dealing with not only your issues but their issues too. Your software is useless if theirs fails. It's thankless.
* Don't work on FOSS you aren't using yourself anymore. This heuristic isn't fully fleshed yet, but I've found if I stop using software I wrote, it just becomes a support burden for me. Especially frustrating are entitled users or entitled users who make money entirely using my software who want niche issues fixed. Not PRs, they want me to debug it all or put in the thought to get the features working. (Probably doesn't apply if you're immersed socially with a friend group working on a FOSS project though)