What about science? If you ever benefitted from a genetic screening for any disease, your doctor made anywhere between $100 and $400 an hour, and the graduate student who discovered the function of that gene $10 an hour if you're accounting for his tuition credit. Who tells these students to stop spending 60 hours a week at the lab and start using their skills doing something people will pay for, like develop a no-palm-oil no-aspartame but-still-addictive Mars bar for 25c unit cost?
People will accept less money in exchange for doing something meaningful, like sitting in their basement painting stuff rich people will speculate on for millions of dollars after their death, or campaigning for a rich lawyer who already makes 200k and will get a good bonus post-election because he has the right party colors.
If you could literally sell meaning to people for less friction than those alternatives they'd eat it up. And they'd spend their time making money to spend it on your meaning-making money-sucking machine.
Because that's all money is for: be exchanged for things that make your life not suck. And this exchange tends to bear transaction costs.
"If you want to get rich, start a religion" - L. Ron Hubbard
prediction: 2020's will be a decade of hyperactive cult growth, accelerated by proliferation of private alternative currencies, loneliness and the decline in traditional religious affiliations. Patronage of the ambitiously famous will be direct and recurring, without need of branded material maguffins to mediate the transaction loop.
Almost everybody, whether in or out of academic science, tells them that.
If this culture is stifled the name of depriving corporations 'free labor' through OSS, the creative hacker community isn't elevated - everyone is brought down. IMHO anyone seeking to build financial value for developers or pad their resume is better off working on a side project/startup.
I understand why somebody would be scared of that. They're big and important to the tune of many many billions of dollars, while you or I are not. But you shouldn't let that get to you. You should make a conscious effort to not let that get to you. If they want you to take their problems personally, let them hire you. If they can be broken by you but are unwilling to pay you, then fuck them. Put them lower in your priority queue than private individuals.
That, on its own, is fine. It brings you satisfaction rather than financial support. What starts being fishy is when companies like Amazon who can readily afford to offer financial support instead rely on and exploit that sense of obligation to get work done for free.
I realise this sounds whiny and that's not the point. The point is that by withholding FOSS contributors financial support, these companies are creating an environment in which the best and most dedicated contributors run the risk of burning themselves out, making everyone worse for it.
> It’s still not clear that companies would be interested in such a contract. When Stenberg asked the company that needed him to fly to a different country to troubleshoot their problem to pay for one, they refused.
https://invidio.us/watch?v=jVkLVRt6c1U
(Fuck you, pay me.)
- start a company around providing enterprise support services;
- ask for the large companies to provide some resources such as a part (or all) of an employee's time to work on the project, for the parts that are more dear to that company.
If a company is unwilling to pay, either in the form of a support contract or employee's time, it should look at another solution. Not just because they are being disrespectful/annoying/distracting to the maintainers of the OSS project but also because it means they don't have a good contingency plan for when things go wrong.
For a larger business, the value of using OSS is not to save money, it's to get the right level of customization for specific needs.
There's also a multitude of businesses selling support licenses for plugins/modules that extend OSS applications.
Really? If Amazon filed a bug on one of my repos I'd probably see dollar signs flashing.
You know it's gone when you're ready to send them a cost estimate at twice your hourly rate.
Anyway, the developer does not need to stress out too much about Amazon employees having problems with their code...
But selflessness? That's the lie we tell ourselves when the true driver is something else, like narcissism.
It's not a bad lie. The outcome is pretty much the same while it lasts. But altruism is not a reliable motivator, and certainly not a requirement for volunteer work. A requirement is to have basic human needs met with some minimal security. Like, not having to judge everything you do by how much money it will earn you.
edit: Also, all of the open source I do or that I know of my peers doing is 100% for the love of programming and open source culture, without a bunch of hidden motives. Open source was definitely key to me becoming a programmer when I was a kid - without it I would never have gone as deep as I did into coding (linux, gcc, irrlicht), 3D modeling (blender), etc.
I'm not talking about your small hobby project with a few dozen users - as good as it may be, the internet doesn't run on it. cURL is really an exception, not the rule.
I’d argue without trying to classify and quantify Debian contributions, there is no way to know who is doing work on Debian on their employer’s dime.
I also try to contribute to various projects in spare time as well. My contributions don’t really add up to much overall, though.
Sure, it’s all anecdotal. But otoh, the notion that FOSS is mostly volunteer work is probably worth challenging. Most non-huge projects I’ve come across only have 4 or 5 key contributors. Open source is at least, not as distributed as believed for most projects. On the other hand, companies using FOSS have incentives to contribute, and sometimes will even hire contributors on important projects.
The spring framework has contributions from many volunteers, but most big contributions and all of the integration work come from Pivotal.
The contributions to the linux kernel are graphed here:
https://www.extremetech.com/computing/175919-who-actually-de...
80% of new contributions are from companies. That shouldn't be surprising at all, because these companies are also the biggest users of the project.
As for myself, in the rare occasions I contributed a patch to an OSS project, most of the time it was to solve a problem I encountered at work, so I have anecdotal evidence that at least some from the category 'volunteers' also got paid to write that code.
This is nowhere close to true, unless you define “benefit” as “cash profits”. Even then, it’s a tough argument.
There have been extraordinary benefits to most people in the world from open-source contributions. Without a wide range of open source code projects there would be no Wikipedia, no SciHub, no web forums, no search engines, no web maps, no movie/book/restaurant review sites, no craigslist, no online dating, no news websites, no web education platforms (MOOCs, Open Courseware, Khan Academy, ...), no technical Q&A sites, no video sharing sites, no social media, no e-commerce, no online banking, no ...
The great majority of the benefits of all of these software products and projects accrue to their many users, not to their authors or corporate hosts.
(Of course technology is not all positive, and many people have also been harmed by technology. Open source also enables surveillance, stalking, bullying, new kinds of fraud, new venues for propaganda, new legal risks, new avenues for social and political control by self-interested and unaccountable people and institutions, etc.)
I partially disagree. Yes, the benefit will not be fairly shared. However, the volunteers' works accelerate entreprises' works, which can then provide new services and new products faster.
Imagine some ML algorithms could find the cure to aging. You have two options : either wait that some company develops it, but you might be dead by then, or accerelate the process by open sourcing your code and hopefully get the companies closer to this goal. Now, that doesn't mean you will be able to access that cure if a company finally finds it and decides to sell it, but you increase the odds that something might be discovered.
It's like giving $1000 to charity, but with the scale of software, your coded contribution can have way more impact than $1000 on the world.
How would you weigh the benefits of millions of people using and loving a piece of software, even if no profits are generated? What if they are able to free up time which they use to improve their communities, spend more time with their friends and family, maybe even make money for themselves?
you can sort of see evidence of this within repositories filled with smug comments within the issues or pull requests
Once you see something that you have built, running at thousands of operations a second for years, once it’s running smoothly and all the bugs and edge cases have been smoothed out. Watching the machine dance, visualising the data structures in your mind - and algorithms running on them. Thinking about state changes, loops and execution, and watching it all running in a beautiful symphony of logic : there’s really no other feeling of joy and appreciation of beauty. I love being a programmer, and I suspect the majority of open source contributors are like this.
The snide comments and unhelpful github messages are the minority in my experience, especially with more mature products (kernel development, sys ops tools etc)
On the other hand, software maintenance is a category of work that tends to be poorly compensated even in the case of proprietary corporate software. So it is no shock that OSS maintenance also is poorly compensated either monetarily or non-monetarily.
i would honestly rather it all be backed by corps and people get paid for it without any hints of "benevolent dictators"
Well don't use opensource software then, go buy it... It's your choice...
Just like it's the choice of a developer to give away something they made for free...
I don't think that's true. The software itself doesn't benefit their bottom line because it's free for everyone. You can't charge a premium because your business runs on Linux.
All open source software does is provide a base-line of technology that all companies and all individuals can use. You can't directly or even indirectly profit of it -- you can only profit on the value you can provide on top of it.
As technologists, that's what we want! We want companies and individuals to stand on the shoulders of giants and peek a little bit higher. We don't need anyone to re-invent the wheel over and over.
That is not the case with the D programming language effort. Quite a number of strong D open-source contributors have been recruited into very well paying positions directly because of their contributions.
I suspect the key is contributing to a higher profile open source project. One that is high enough that one can make major contributions, and not so high that one has a hard time standing out amongst the other contributors.
- free software (GPL) can be used for any purpose, by the user. Yes, this means a corporation can use the software without paying. However if it tries to redistribute the software it has the obligation to distribute the source code and any improvements made to it.
- Large corporations are made of people. It is also of value that a person inside a large corporation can learn to use GPL tools, then leave the corporation and download use the same tools at home or another job and continue to use the skills learned.
- GPL software is also great for education - students can not only use tools, but can also pull them apart and see how they work
- GPL software can be a legacy if you're into that. You can write and distribute software under the GPL, and it can survive your current job, or corporation, or live on past your lifetime. GPL software has outlived most of the places I've worked. Meanwhile the non-free software those places created during my tenures have largely disappeared.
- GPL software is a great foil against our losing war with privacy. I can foresee a future where running software you can view and modify might be the only way to ensure you know you aren't being taken advantage of.
Companies may not care about volunteer work when making hiring decisions, but that should not be why you do it.
You say most open source software is used by companies to better their bottom line, but if you’re making six figures through skilled work and not giving anything back to your community, I fail to see how that’s any better.
I guarantee I earned less money in the past year than anyone reading this (I don't work in tech any more), and it didn't stop me from volunteering my skills. Being rich is not a requirement for contributing.
I have also hired people who don't have GitHub accounts. In those cases, they have some other proof of work. Papers, thesis, references (which are a drag, because then I have to also figure out how to vet the reference) and, particularly valuable, referrals from people I already know personally. This last one goes both ways: not only do I have high confidence in the good intentions of the person making the referral, I can then retrospectively assess this contact's ability to assess.
I don't think you can make a sweeping generalization like that, because "employer" is not some omnipotent figure sitting in an ivory tower. It's other developers, and managers who are (typically) technical and can appreciate individuals who contribute to open source.
If I see someone is an active contributor on Scikit-learn, numpy, etc. that is a certainly a strong signal for me. Yes I'm not making the hiring decision, but I can assure you the HM is going to be influenced by those who interviewed the candidate.
Is there research comparing the current situation with a hypothetical world where OSS doesn't exist? How many less developers would have a job? How much less would the remaining be paid? I'm imagining it and that's not a world I want to be in.
To add a bit more to the "factualness" of the conversation, according to the Bureau of Labor Statistics Software Engineers in the U.S. took home $144 billion, which for comparison is more than the revenue of Alphabet or Microsoft. How much of that do you think can be attributed to OSS?
What open source projects specifically?
> So, a large portion of open source contributions do nothing other than provide free highly skilled labour to Coca Cola, Walmart, and McDonald's.
In my opinion, any open source development is valued WAY MORE than closed source development, as it can be shared and verified by others. If you have a project that's benefiting multi billion dollar companies, then you've created something useful that can be shared with small companies and individuals too.
Also at the end of the day it's the developers choice, they can stop maintaining it, but the point is; sharing code is better for everybody
I have not contributed to any of these projects but for instance: Spark, Flink, Druid, Akka, Hadoop, Cassandra, Kafka, Java Spring, Hibernate, etc etc.
The world of open source benefits the powerful entities, and that's OK that's what open source is about... Everyone gets the code for free... No matter who you are
The risk is that it devalues labor. And could build a culture where so much is expected for free that there is never enough financial support.
Much like the improvements in farming and agriculture have changed from manually reaping the fields to AI controlled harvesting equipment.
There will always be software engineering problems to solve, they just move up the stack...
When fewer and fewer people are needed to do the same work it doesn't necessarily make for a better or more sustainable market: socially or ecologically. Consider a world where one needs 40 years of education (instead of say 20) to begin to contribute in a way the capital owners are willing to pay for. And paying for the privilege of much of that education.
But to me that's a pessimistic way to look at it. It's an accomplishment to need less people to build amazing things.
We're already at a point where even the most experienced engineer can only understand a fraction of the stack they use. Compare that with the 1970's where a programmer might understand 90% of the mainframe they use... because it was simpler...
Basically you don't need to know as much knowledge as earlier generations to accomplish the same thing, but this devalues that thing (or makes it much harder to be good at) ... All the low hanging fruit is gone I guess
And this is bullshit. Most popular open source projects see heavy usage in academia, personal projects, public projects, government projects, etc. Python is a massive reason any students know how to program at all.
At other points in our history that language would be BASIC or Pascal. Their initial implementations may not have been open source
Isn't this kind of the problem the GPL is supposed to solve?
Sure, a company can build off an open source project to increase their bottom line, but they'll have to contribute back any changes they make. Which means their work is now benefitting other developers as well.
I feel like the GPL has somewhat fallen out of favor in recent years. To an extent I understand why, and yet...
The response to that was that these contributions lead to jobs. But, that idea seems to have largely disappeared. There was a period where people were claiming your github account is your resume, but I haven't heard that sentiment in several years.
Then the startup boom started again and a new round of devs came into the profession looking to make money and needed to prove themselves. They heard "good devs have great github profiles!" so they started creating github profiles and flooding them with code to get hired.
Now we're in the new wave of cargo cult white boarding/code challenges. You may hate them but at least the early FAANG challenges were interesting and challenging. But since every company has to have them you have devs that couldn't pass a google white board challenge trying to create their own version... which usually means they are poorly thought out.
It's worth noting that many of these companies give back to the OSS they leveraged, and are often the genesis of some of the best OSS software themselves.
I can’t see anything wrong with that, it’s like people doing favors every day for other people without asking for money
> I now am starting to rethink this sentiment because the vast majority of the benefit of open source contributions on github, be they to languages, runtimes, application frameworks, databases, etc, go towards increasing the bottom line of for-profit companies, not to developers. And the vast majority of the beneficiaries of open source will never support the project even when they are fortune 50 companies saving millions of dollars by using the work of one volunteer.
Yes open-source improve computation as a whole, companies as well as individuals
> There is also the idea that contributing will be great for your career development. I have found that not to be the case at all, I think that no potential or current employer has ever given a rat's ass about open source contributions, and do not consider that work as valuable when making hiring decisions. The work you are paid to do is the only thing anyone cares about. I'm not saying that that shouldn't be the case, but just that that is the case.
Not my experience, have never stumbled upon a recruiter that doesn’t value OS contributions
> Given then, that there's very little upside to doing open source, and most/all the benefits go to profit-making corporations, it is puzzling why do we even push for greater involvement in open source at all? It seems we shouldn't be, we should be warning people who want to contribute to Open Source that they should probably spend their time doing their own studying and personal/skill development which will allow them to succeed in the roles that they have with their current role or a role they'd like to obtain one day, for money.
Since all previous assumptios was wrong, conclusion doesn’t follow. But I agree that people should not do Open Source for money
Also an angle you are considering are open source projects like Spark maintained by a company (databricks) for the benefiet of being used as a sales tool. This whole class of open source exists and pulls unwitting contributors into helping out who don't realize that they are benefieting multiple layers of corporate entities not willing to pay for it. And they will not see any benefiet from it (unless they use it as a personal sales tool to get a job at those companies).
I can't think of any civic institution I belong to that isn't constantly asking for volunteers, and riding the volunteers they have to do more. I'm not sure it's any different.
Society needs volunteers, and money isn't everything.
This is a great point. Still, the local church meals do not enrich multi-billion dollar companies; unlike FOSS.
https://yro.slashdot.org/story/00/01/22/1843258/open-defensi...
and still do not know whether any formal method exists (apart from the choice of license model) which could inoculate "Open Source" from being tragically impressed into corporate rent-seeking service. Or at least, as much of the Open Source ethic as is encapsulated in the public works of ethically motivated open source contributors; people who are essentially investing their time, skills and resources in the improvement of a lightly defended public common that continues to be parceled out to private interests.
* rereading the above I don't think I've made much progress in my posting style. Maybe it's something about the apparent structural inevitability of this problem, which seems more a recapitulation of deeper conflicts in human dynamics than something specific to "open source".
Firstly, the reason I open-source most of my libraries is because, when I was a kid and learning to code, I couldn't afford or convince my parents to buy the expensive proprietary software I wanted to play with. Open source let me have access to this technology ( and to inspect how it worked ) without having to buy anything.
This is simple stuff like having GCC to compile C programs, rather than buying the intel or MS compiler.
Those early experiences got me where I am today. I contribute open-source software so that other, more junior developers have the same opportunities I did.
> There is also the idea that contributing will be great for your career development. I have found that not to be the case at all, I think that no potential or current employer has ever given a rat's ass about open source contributions, and do not consider that work as valuable when making hiring decisions. The work you are paid to do is the only thing anyone cares about. I'm not saying that that shouldn't be the case, but just that that is the case.
Again, I've never experienced this. I got my first programming job right out of high school, and my resume was filled only with various (small) open-source contributions. Without those I'm not sure what inspectable experience I would have had.
> Given then, that there's very little upside to doing open source, and most/all the benefits go to profit-making corporations, it is puzzling why do we even push for greater involvement in open source at all? It seems we shouldn't be, we should be warning people who want to contribute to Open Source that they should probably spend their time doing their own studying and personal/skill development which will allow them to succeed in the roles that they have with their current role or a role they'd like to obtain one day, for money.
Again.... the exact opposite experience. I released a moderately popular library, built a community around it, and this has opened up career opportunities for me. In the niche I work in, several interviewers had actually heard of me before I even interviewed. The scalability of open-source to distribute a positive first impression to potential employers should not be understated.
I do agree with you here:
> And the vast majority of the beneficiaries of open source will never support the project even when they are fortune 50 companies saving millions of dollars by using the work of one volunteer.
Lastly, I think the reason most people find open-source to not live up to its promises is that they do not take on leadership roles in open source organizations. Frankly, as a more senior developer now, simply being a casual contributor to a project would not add to my resume. However, being a project lead, or component lead, would. You need to target your open-source contributions to things your employers would find useful. For example, I work on mainly backend, low-level things in my current career. As much as I would like to contribute to GNOME or GTK or whatever (and I have the skills to do it), there is not enough reward to doing so, so I don't. Instead I contribute to projects that I know will ingratiate myself to future employers. Perhaps that's why our experiences are so different.
Just saying, software can be free without getting open sourced.
I agree that OSS gives raw access to technology, but in larger projects, I would prioritize a good documentation/reference book over source code to understand it in a complete manner.
One benefit of OSS is to lead the world to a place where you want the world to go.
I had access to Amiga and PC, bough my software tools that I actually cared about (with student discount), and did some programming gigs already before getting into university.
Back then, making a living from selling developer tools still looked like a possible way of life.
Such a wild claim would require some evidence. But it's so patently false, I'll give you pass.
Linus has gotten extreme benefit from Linux and Git. And developers have massively, directly benefited and the world indirectly from Linux and Git.
Wikipedia, directly benefiting everyone, would not exist without open-source either its infrastructure or the code it runs on. The Internet would not exist without open-source.
Money is only a fraction of motivation for many people. Many do open source to make the world a better or more efficient place and reduce barriers to entry.
Which inturn creates jobs doe devlopers.
Let's face it. As a devloper. My day to day would be tough and slow without many of the free tools devlopers created for fee.
So maybe the pressure for me to contribute is just.
OS matured, contribution in 2019 does not necessarily mean you commit code. Donating some money is fair use in my point of view and is simply a sign of respect.
We do care. We're hiring for backend engineers. https://news.ycombinator.com/item?id=20871478
The publishing industry is much better than software at getting the money to flow towards the creator, but software jobs overall pay better than most writers because of the skill sets involved. Both publishing and software, however, do have multiple ways of going from amateur enthusiast to highly paid professional if you have the talent and connections. And open software, like contributing to small literary magazines, is one way that you can make that transition.
hell, most programmers would probably take a pay cut to work in a "cool" language. i'm willing to wager that C/C++/COBOL/java mean salaries are a standard deviation higher than haskell/elixir/clojure salaries. why? many reasons but i bet that companies know that they can use programmers' passion for mastery against them. leave your boring C++ slog job to "hack in Haskell!"
i'm guessing many of these guys are just clueless when it comes to how potentially valuable they are as individuals and what that's worth, while they put up a $10/mo patreon that 6 people use. i'm guessing most engineers are severely underpaid when it comes to value added, they consistently fall for the okie-doke's of "we get to type stuff into a computer and learn and oh wow, i ought to be so grateful for my six figure salary", yet they're putting entire swathes of the economy out of work for their corporate overlords.
it's tough to convince management you're worth a lot of money if you're willing to give away your precious time and resources freely.
I 100% agree most engineers are severely underpaid. A lot of my colleagues get paid more than anyone in their family ever has (sometimes whole family put together) and just like to ride it out.
> "the benefit of open source contributions on github... go towards increasing the bottom line of for-profit companies, not to developers"
Don't those for-profit companies employ people -- including developers?
>"[developers] should... spend their time doing... skill development... to succeed in... current role or a role they'd like... for money"
Are those roles you mention positions in for-profit companies? In "for money", whose money?
so to turn the argument around BSD unix would not exist in its current form if the initial corporate developers had not released it under a BSD compatible license.
so it's not just about volunteer BSD developers subsidizing corporations. but there is a give and take in the BSD world too.
compare that to mariadb which contains most of the code that is owned and controlled by oracle now and which prevents mariadb to sell to clients that demand a custom license agreement.
now for a GPL fan, this is irrelevant because they shouldn't be selling such licenses anyways, but fact is that the owner of a GPL product is the only one who can sell such licenses, whereas anyone who uses a BSD product can sell such licenses.
in this sense, BSD code ownership can not be sold because actual ownership of the code is pretty much irrelevant, whereas GPL code ownership can be sold because the owner always has an advantage.
So, you can make your software free as in 'free speech', and obligate other companies to keep the products they construct above yours still free.
Better than to make them free as in 'free beer' where they can just consume your work and not give back to the overall movement.
The problem is in the licensing.
Large companies have become the primary user rather than the real end users and other developers... because the licenses make it possible.
It's just not financially beneficial to developers.
Its Open Source that is chiefly responsible for every bit of that personal skill I have.
In this game, the "giant" corporations are the irrelevant little players that hardly matter. They don't contribute, so they may as well not exist. They can be safely ignored except for the rare occasion that they "fart in our elevator" with their patent nonsense.
I now am starting to rethink this sentiment because the vast majority of the benefit of open source contributions on github, be they to languages, runtimes, application frameworks, databases, etc, go towards increasing the bottom line of for-profit companies, not to developers. And the vast majority of the beneficiaries of open source will never support the project even when they are fortune 50 companies saving millions of dollars by using the work of one volunteer.
There is also the idea that contributing will be great for your career development. I have found that not to be the case at all, I think that no potential or current employer has ever given a rat's ass about open source contributions, and do not consider that work as valuable when making hiring decisions. The work you are paid to do is the only thing anyone cares about. I'm not saying that that shouldn't be the case, but just that that is the case.
Given then, that there's very little upside to doing open source, and most/all the benefits go to profit-making corporations, it is puzzling why do we even push for greater involvement in open source at all? It seems we shouldn't be, we should be warning people who want to contribute to Open Source that they should probably spend their time doing their own studying and personal/skill development which will allow them to succeed in the roles that they have with their current role or a role they'd like to obtain one day, for money.