I feel like there is an article a week about how open source developers are being used by corporations for free labor. I think there is a fundamental misunderstanding that these journalists aren't grasping.
Nobody is doing anything they don't want to do. Nobody is forced to build open source software. And, most importantly, most of these contributions aren't worth enough individually to charge for. It's only collectively that these contributions have value and we all collectively benefit from it. And for-profit companies are part of that collective benefit but that doesn't mean money needs to be involved.
I'm working on an open source project right now -- I've put a lot of hours into it -- and it's cool but there is no way to build a profitable business from it. It's an end-user product, the small number of users will like it, and I just enjoyed building it. But I also don't want to make it business. I already have a job.
Nobody's saying it has to be, uh...what's the name of a profitable internet company that isn't Facebook? But making demands on people who are working for free is bad manners. I don't care if you think the internet changes everything, it's still possible to be an asshole.
My off the cuff solution is for project owners to add a status flag to their issue trackers: PAID. Anybody can submit a bug as PAID, but it costs $50,000-100,000 to do so, per bug. And no private fixes: there is one version and everybody gets the benefit. No badgering on ETAs either.
If Ford thinks it has value, then the developer should get some of that value, and $100K for a suitable patchlevel of cURL might even be a low estimate.
And in practice, it also "buys" you all of the other bug fixes and releases from helping to fund the developer. So while the bug itself might only take a day, the infrastructure around being in a position to do that takes much more time.
I was about to comment that most customers might expect more support than a bugfix for a $100k support contract, then I remembered my last few interactions with enterprise software vendors.
ETAs and individual bounties, I think, are different in a subtle way. ETAs require a strong organziation that can deliver such things. Piecemeal support to fix one bug does not.
Also, I've seen companies cut larger checks for sillier things with minimal conditions, so...
It's not a cobra problem. If bugs get added "on purpose," which is a ridiculously cynical opinion of Stenberg's ethics, people can fork it and maintain it themselves.
$10K is way too cheap. I recommend putting some thought into the idea of business value.
Charging money to fix something because of who they are seems unethical to me... Maybe it's just capitalism, which is usually antithetical to open source free software...
If they want it fixed, let them add resources to the project like submit a pull request, donations or charge people support fees for urgent bugs, which many OSS projects do...
Charging money to fix something because of who they are seems unethical to me
First of all, I believe that everything people do is according to some ethic, or set of criteria that motivates them, so there's no such thing as "unethical."
Secondly, it's not charging money because of who they are, it's charging them because of what they have, which is money, which is a desire to have a bug fixed, and which is not expertise in doing so.
Thirdly, charging money like this is not antithetical to free software, and as a matter of fact is promoted by FSF. Here they are dispensing with your argument in the first sentence: [1]
Fourthly, if they were going to submit a PR they would already be doing so (and maybe they have), but as the story goes, the lion's share of coding is performed by Stenberg. PR's are free and money is also a resource. Why not put the resource in the place with the most expertise?
In what way is the money I suggest not a donation or support fee? Lack of contracts to complicate things? Lack of tax writeoffs? These companies don't pay taxes anyway.
> First of all, I believe that everything people do is according to some ethic, or set of criteria that motivates them, so there's no such thing as "unethical."
OK, that's one way to look at it. In that case I mean bad ethics...
> Secondly, it's not charging money because of who they are, it's charging them because of what they have, which is money, which is a desire to have a bug fixed, and which is not expertise in doing so.
That sounds reasonable and is similar to taxing the rich I suppose, but to me it's discrimination on WHO you are.
> Thirdly, charging money like this is not antithetical to free software, and as a matter of fact is promoted by FSF. Here they are dispensing with your argument in the first sentence:
That's their opinion, my opinion is that charging money for open source software (usage, support) usually results in bad incentives for the people controlling the software (more bugs = more money), which is bad for the consumers of the software.
Allow people to contribute money/resources to the project if they want/need, is the best for everyone.
Well at that point it isn't buying for getting it fixed but for attention and fast response. Anyone else could just do the fix themselves and submit it. The lack of gatekeeping is what keeps it ethical essentially - like the difference between "only Apple technicians" and "anyone capable".
This isn't paying because of who they are, this is paying to be prioritized outside the normal process. They are 'adding resources to the project', in the form of money (which will hopefully draw in more developer time, another resource)
> Charging money to fix something because of who they are seems unethical to me
Are you aware of how much price discrimination these corporations do to everyone (including yourself) every single day? Most stuff we buy everyday, including the name brand generic stuff, is priced at what we will spend and is completely divorced from any kind of cost to produce. You will be charged more if you live in a wealthy area, you will be charged more just for living in a developed country, you will be charged more for shopping at certain times of day, you will be charged more because advertising manipulated you.
It's unethical, but giving them a taste of their own medicine isn't.
I disagree. Plenty of people are enjoying your content so much they want more. That doesn't mean they are unhappy, only that they think they could be happier than they already are. They are happy.
Well, keep what makes you happy, and rest assured that happy people usually do not voice their happiness, so the entirely one-sided voices you are hearing carry almost no real information.
My 2 cents: keep supporting it for free for a little bit longer, and then if there's no way to keep managing it yourself, make the leap and monetize. If people don't like ads/paying and leave, then you'll at least have a large userbase that can recover.
> Many job postings list OSS contributions as a requirement / desirable for employment.
Well employers simply want to see your portfolio and coding abilities, and open public code is the easiest way to screen candidates. It's not the most ideal way of checking since there can be many good candidates that don't write OSS for fun but I suppose it's a trade off the employers are making. If you can demonstrate your coding abilities through blogging or other mediums other than OSS than that's a good way to show you know what you're talking about.
If you write OSS on the side then of course that's a bonus but definitely not a requirement. I tend to write OSS for fun but I don't feel obligated to fix issues if I don't have the time or resources unless they offer payment. Anyone can simply fork the projects and fix it themselves.
I've seen many job adverts that specifically cited "seeing Github contributions" as a requirement.
I don't see how that is not enforcing free work.
You could say that you can choose to not apply to that company, but not everyone lives on SF and has tons of offers to choose from.
It becomes this unspoken rule that to work on many companies you have to contribute to OSS (preferably on Github). If you really need a job, you can't really pick and choose.
> I've seen many job adverts that specifically cited "seeing Github contributions" as a requirement.
> I don't see how that is not enforcing free work.
Paid open source work, on GitHub-hosted projects, still produces viewable GitHub contributions. That requirements enforces open source work, it doesn't enforce free work. Like other professions where people are hired based on portfolios, having a portfolio requirement doesn't mandate free work, just work that is not restricted by the client in a way which prevents it's use in your portfolio.
Of course, if your paid work doesn't fit that model, you may need to do free work to build a portfolio.
That requirement is even stupider considering many FOSS projects don't even use github. So a decade-plus OpenBSD developer would not be qualified, but a guy with a million useless and broken npm modules would be a shoe-in.
Because their business model can't rely on the interest and free-time of others, so they are willing to pay you for your continued "interest" in their codebase. They aren't paying you for those bugfixes, rather for your ability to available to do those bugfixes immediately
> most of these contributions aren't worth enough individually to charge for
I agree with your general thrust but on a tangent, this isn't true and isn't the right way to think about software contributions, even 'trivial' ones.
A trivial change seems low value to you because you wouldn't have to spend much time at all doing the same thing yourself.
To see its market value, you have to view it from the perspective of the average person - how long would it take them to make that change? Answer: a very, very long time. They'd have to learn the fundamentals of programming first.
The value of something isn't how long it takes to do it in isolation. It also factors in how long it took to get to the position where you could do it at all.
I actually completely agree with you; the value isn't how long it takes or how much effort goes into it -- it's how much it's worth to the user. The problem is that most contributions, individually, just aren't worth that much to a users individually.
For example, how much would I personally for a fix to a graphical glitch fixed in the Dolphin emulator? Think how hard that is to quantify! Is it worth $20? It it worth $0.00001 over thousands of users? Is it not worth anything because nobody even noticed it?
If there was a dollar amount attached to it, would it ever get fixed at all? Maybe it's value is too low to bother now that we've quantified it that way; new features are worth so much more.
Even if you sell something for what's it worth to the end user, it might not be worth doing. Most of my open source projects fall in that category: It's worth maybe $20 to an end user, and there might be handful of users, and that's definitely less than my hours are worth to make it. But that's why it's not a business.
> The problem is that most contributions, individually, just aren't worth that much to a users individually.
Sure, but that article mentions business (you do too in your comment) that expect something from the OSS project. The alternative for that business is certainly much more expensive than paying for that fix, thus it does seems to be worth that much to them.
A very good point and an angle I'd not considered to what you were saying. What I said of course assumes that the result of the change is worth the effort in and of itself. Usually true for a product managed by a business, potentially less true when the implementer simply chooses whatever they want to change in an open source project.
It seems to me to be major permission culture speaking that shows they just don't get a culture other than monetizing every little snippet by prior agreement and getting lawyers involved. It is a very media culture with their excesses and it shows.
When really the open source software is about making it easier to work with across jobs so that everyone doesn't need to tediously reinvent the wheel ad nausuem or jump through hoops.
What corporations rely on is thousands of parallel endeavors surfacing the best ideas and educating and training programmers from which they will take, use, hire, profit, save, all for free.
The stuff they don't use and the years of learning how to invent successful stuff is every bit as important as the failures. The successes can only be built by salvaging good ideas and abandoning bad ideas from the failures and obsolete successes. You pretty much have to demonstrate how you continue learning on Github just to get an interview.
Vital projects are not ok financially and we're starting to find out when they get repurposed as malware, or go unsupported despite being a dependency for a double-digit percentage of the internet. Most of the world is default-excluded from creating brilliant programmers because their parents have zero hundreds of dollars, let alone thousands, to subsidize a Stallman, Gates or Torvalds for the rest of us.
We are subsidizing corporations and they are racing to see who can hoard the most hundreds of billions of dollars.
The downside I see is that leads to a lot of “just good enough” solutions out there. There are things like the Spring “framework” that kind of sort of almost do something useful but add conceptual overhead and leaning time and subtract troubleshoot-ability in exchange for not much, but enough that the people in charge push you to use it since it’s free anyway. On the one hand, if not for open source, Unix, vi, grep, awk, sed, lex, yacc and bash would all be long dead and buried now - there was a time before I came across Linux that I was starting to try to implement all of these myself in DOS because they were so useful and there was no available equivalent. On the other hand, if not for open source, I wonder if we ever would have gotten PHP or Java or a lot of the monstrosities that hang off of them like Zend and Hibernate.
There's an issue though. You spend time as you please and its fine, but ultimately current society revolves on exchanging services in a semi quantifiable manner (transactions at price). You cannot live on free contributions. I find this hybrid situation too paradoxical.
There is no shortage of businesses and individuals that will pay you to write software!
What you're saying is that someone who might enjoy gardening as a hobby should be able to make a living mowing other people's lawns for free. Which is, of course, as ridiculous as expecting to make a living on free software contributions.
We already have a perfectly good system for exchanging goods and services for money. Free software is not that system and that is fine. The issue comes from misunderstanding what that system is and how it compares to basic capitalism.
If your hobby was making cake designs and you share them on the Internet to whomever wants them with a license that allows even businesses to use your designs then we are right back where we started.
That's still a perfectly valid hobby.
P.S. You give away your designs because everyone else does and you get this big collection of free cake designs to bake. That's worth more to you in your cake baking hobby than selling your designs and making it a business. Invariably someone comes along and sees all this huge body of cake designs and says "This collection is worth money, you should be rich" and completely misunderstands the whole situation.
Sure, but that’s a rather different hobby which may or may not be something you’re in to.
> That's still a perfectly valid hobby.
Of course. There are many hobbies which can financially support you, but there are lots of hobbies that don’t. Most hobbyist sports for example wouldn’t make anybody any money, but that’s fine, you do it for yourself. But the point I was making in my previous comment is that corporations aren’t making profits off the back of your hobby either.
If you build some software, you can share that an infinite number of times.
That chair has value. Maybe you can sell it, but maybe you just wanted to make a really nice chair.
That software has value. Maybe you can sell it, but maybe you just wanted to make a really nice piece of software. But just because the software is infinitely copy-able doesn't make it worth infinite dollars.
That last point is really the only important one and it makes no difference, to me, as the developer. I just want to make cool software. It just so happens that software is infinitely copy-able and chairs are not. The production side is the same.
Well, sure, I’m not even really arguing that its a bad thing. Personally, any code I publish online, I put under the MIT license because I don’t really care if people use it commercially or not. Its also the same argument used to say “piracy” isn’t harmful.
I’m just pointing out that in open-source-as-a-hobby its very common that large corporations, who may or may not give back to the community themselves, derive profits off of hobbyist work while this is less common with other hobbies. Even if it doesn’t financially hurt the hobbyist, it can be demoralising (although others love it, so to each their own, I suppose — that’s why we have different licenses)
I don't think it's simultaneously fair to release code in an open source license that allows commercial use and then be demoralized by that commercial use. The problem there is clearly one's own.
Companies may use open source software but they don't directly or indirectly profit from it; they can only profit from the value they provide on top of it. Software that is free for everyone cannot be a distinguishing feature.
Contributing to open source software, even if used by for-profit entities, is increasing the total state-of-the-art for the entire industry. If you are demoralized by that then you probably want a job, not a hobby.
I don’t disagree, when I release under MIT, I’m basically saying “go ahead and do what you please under these simple terms”. I suppose this is why people release under GPLv3 or AGPL. I’m just trying to provide commentary on why I think people are bothered by commercial use without giving back. Ultimately, I think you’re right: if I release under a permissive license, I shouldn’t get upset if people use it.
I've seen a couple different camps of OSS. Some people do it to scratch their own itch. Like building a tool because it was fun to do or solved a problem the author had. This is the perfect case for OSS. People rarely care about reuse in this case.
The other case is a project desperately needed by the community and every corporation is making their own internal version of that code. No one really wants to commit the next 10 years of their life to it but someone eventually does sensing the need. The author gets many stars and forks but almost no money. Corporations then want to twist the library to their own specific needs while an individual or small team build a necessary tool but there's no business model. Then either a corporation adopts the repo to keep it going or the author tries to turn it into a business. Both of these outcomes rarely succeed for the wider needed but no one's really willing to pay for it.
These are super broad generalizations. The big problem seems to be when some software is really needed, someone steps in to build it and then no one pays them. Need != business model.
I'm not putting one above the other, I'm saying the right now you cannot live out of contribution. It's not a standalone option. I wish we could all contribute improvements, as you say, there are high chances that it would lead to a better society overall.
Nobody is doing anything they don't want to do. Nobody is forced to build open source software. And, most importantly, most of these contributions aren't worth enough individually to charge for. It's only collectively that these contributions have value and we all collectively benefit from it. And for-profit companies are part of that collective benefit but that doesn't mean money needs to be involved.
I'm working on an open source project right now -- I've put a lot of hours into it -- and it's cool but there is no way to build a profitable business from it. It's an end-user product, the small number of users will like it, and I just enjoyed building it. But I also don't want to make it business. I already have a job.