The Complicated Economy of Open Source Software (vice.com)
An excerpt from a report, which looks at the complicated business of funding open source software development: On the surface, the open source software community has never been better. Companies and governments are adopting open source software at rates that would've been unfathomable 20 years ago, and a whole new generation of programmers are cutting their teeth on developing software in plain sight and making it freely available for anyone to use. Go a little deeper, however, and the cracks start to show. The ascendancy of open source has placed a mounting burden on the maintainers of popular software, who now handle more bug reports, feature requests, code reviews, and code commits than ever before.
At the same time, open source developers must also deal with an influx of corporate users who are unfamiliar with community norms when it comes to producing and consuming open source software. This leads to developer burnout and a growing feeling of resentment toward the companies that rely on free labor to produce software that is folded into products and sold back to consumers for huge profits. From this perspective, Heartbleed wasn't an isolated example of developer burnout and lack of funding, but an outgrowth of a systemic disease that had been festering in the open source software community for years. Identifying the symptoms and causes of this disease was the easy part; finding a cure is more difficult. Further reading: How Does Heartbleed Alter the 'Open Source Is Safer' Discussion?
At the same time, open source developers must also deal with an influx of corporate users who are unfamiliar with community norms when it comes to producing and consuming open source software. This leads to developer burnout and a growing feeling of resentment toward the companies that rely on free labor to produce software that is folded into products and sold back to consumers for huge profits. From this perspective, Heartbleed wasn't an isolated example of developer burnout and lack of funding, but an outgrowth of a systemic disease that had been festering in the open source software community for years. Identifying the symptoms and causes of this disease was the easy part; finding a cure is more difficult. Further reading: How Does Heartbleed Alter the 'Open Source Is Safer' Discussion?
I've been working on a project for almost 20 years at this point, and I definitely feel the same as what's reported here. As the project has gotten more popular and more users come on board, there is now much more demand on our team. And some companies have noticed the usefulness of the project and used it in commercial products. Not that I'm against that (as that's what the GPL basically encourages), but it would be nice at times if there was more contributions back from those that benefit from it.
And I don't necessarily mean money either. Extra help in coding, testing, etc would be nice too. But I suspect that people get used to a product being free, and then asking for anything more once it becomes popular is out of the question for them. But in the long run, it really leads to developer burnout, as more people want more and more, and can't (or won't) contribute. I know I am personally feeling the burden and looking at burnout soon.
Anyway, long story short; I can sympathize with developers in a similar situation.
"I thank you for your feedback, but I wanted to let you know this project is not actively maintained. This is a hobby project for which I do not get paid, and unfortunately I do not have the time to address all the feedback it receives. If you'd like to contact me about paid support or services, please send an email to..."
Setup an autoresponder. Burnout is stupid.
Plenty of people are getting paid every day to work with open source software. Many of them work with project vendors very closely or provide free labor in the form of pull requests when their employers are directly impacted. Otherwise, why would they contribute? This isn't a hobby or game, this is business. Values have to be aligned. The alternative (proprietary) sets up values at cross purposes (e.g. DRM).
The summary mentions that the corporate world doesn't understand the OSS norms. Just as likely, in my opinion, the OSS volunteers don't have a good understanding of the corporate participants. We all appreciate OSS volunteers and the wonderful software they create. That said, it should be no surprise to anyone, least of which the person who put the license on the software, that corporations are going to do anything lawful they can to make money. If that means creating terrible patches and not integrating with the flow of the OSS project itself, they may do that. Those engineers at those companies are not the ones profiting in most cases. They are merely being asked to do more with less, as that seems to be the trend. The choice may be to attempt to get changes harmonized with the community or just publish whatever they come up with at the end. I suspect that there's a latent annoyance about this particular thing coming from the OSS volunteers. But, if you have given the company this right in the license (to use the software as long as changes are published), you can't be surprised that they're not doing a good job of helping you merge them into the mainline. They're doing the least they can get away with. To tie it all together, I think it's no coincidence that one of the largest, most successful OSS projects, Linux, was driven by a man who literally had no shame about giving the middle finger to an uncooperative company. (https://arstechnica.com/information-technology/2012/06/linus-torvalds-says-f-k-you-to-nvidia/). He understands the dance, and it's not an easy one. These companies will walk all over you. Let's not accidentally encourage naivety and call it a virtue.
> Linux is only free if your time has no value
I definitely prefer the solutions that don't require time (or Money).
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
FOSS in a nutshell:
From each software developer (you) according to his ability, to each user (me) according to his needs.
Idea: Tax Amazon at, say, a tenth the rate I pay, then provide grants to the open source projects they are using for free.
Society solved this kind of problem long ago, we have just forgotten the solutions. Treat open source software as the infrastructure that it is.
And this is exactly the type of ass-hattery that I spoke of, that leads people to eventually quit a project.
Congrats for being a perfect example of all that is wrong with volunteerism.
Just one dev's opinion, but whether they're paid or not isn't the biggest issue. It's developer and community involvement - with devs ACTIVELY working on fixes, regardless of compensation (money, pride, prestige, etc.)
And that doesn't mean the original creator/author and one other person/spouse/friend. This means a minimum of 6-10 devs that are actively working on it. When one can't respond, another can pick up the slack.
End users turn their backs on projects that get the, "I'm too busy to do this," self-defense treatment from overworked developers/maintainers. That kills trust, which in turn kills the community of users and shrinks the possible pool of other devs who will bother to offer help.
(Worse yet, the "I'm too busy devs," sometimes ghost their own project outright - while retaining the keys to the project and keep others from taking over or even applying patches. For example, I've seen this in the Drupal community many times (abandoned add-ons/modules/themes with years of no new releases with fixes despite the list of offered (and community reviewed) patches that rot on the vine). Git forks and such can help alleviate some of this, but It is a real PITA having to recompile patches into increasingly fragile build processes and maintain them ourselves when a simple release of control over the project when it's been abandoned for a certain period of time - allowing for new releases - would fix the problem.)
Advice to OSS devs: 1) Be kind to contributors - even bug reporters. They just don't understand. 2) Don't waste time engaging jerks. Shun them. 3) Accept good help when offered, and KINDLY reject bad help. 4) Ask for compensation when necessary (for requests that don't really help the project or are one-off features). 5) Give up control ASAP when you're "done". Don't strangle your baby by holding on too long. 6) Commit to warning end users if the project is going to be shut down. Not doing this is devastating to popular project end users.
Advice to all end users:
1) Don't be a community leech! Donate in relation to how much you use a project.
2) Don't just have a problem -- try to have a solution. You'll get back what you put into it.
If you're an individual end user:
a) Be kind and professional in your requests and effusive (but short) in your thanks for anything done (even a WONTFIX).
b) Help out a little wherever you can (even simple, end-user friendly documentation for non-brainiacs; Almost all devs can use a heaping helping of help on.)
If you're an organization with a budget:
a) Donate any resources when possible to help it keep going. ($$$ is good, in-house dev hours is better, and both is best.)
b) Know when to get out - usually when the community leaders disappear and the FIRST sign of tickets not being responded to. Jumping too early hurts your org, but waiting too long is even worse.
1. Be kind to all contributors - even bug reporters that are wrong or uninformed. . They just don't understand.
Topic really touches a nerve for me, but I'm not going to write a novel-length contribution for Slashdot. Minimal background: My experiences with OSS and earlier forms goes back 3 or 4 decades and I think the potential remains unrealized on both sides. Both the programmers and the users have been let down, and I think the underlying problem is the money. No shit, Sherlock. Economics is about money and the overwhelming money is elsewhere.
As a recovering programmer, let me focus on that side: Why should programmers give away valuable things for free? Various motivations, but altruism is relatively rare. Idealism is probably more frequent, but doesn't pay the bills. I'm pretty sure some of them are hoping to win the lottery and become rich and famous without signing away all ownership to some corporate cancer, but that train left the station long ago... Various other motives, but the bottom line is that OSS remains minor...
So my best fantasy of an alternative solution approach would be to put the cart behind the horse with a charity share brokerage. The objective is cost recovery for the REAL costs (including time) of OSS with the payments committed up front. Kind of like the way you can detect a successful lawyer by the ability to accept only the desirable cases, the OSS programmer would get to accept only the desirable programming projects. That should include projects for new software, new features, support, and even ongoing-cost projects like keeping a server up and running. It also implies fail-safe programming practices, where compliant software would have to check its own update status before doing dangerous things.
Anyway, that's enough time for this can of worms for now, pending expressions of actual interest. Even better if you have a superior solution idea, but there has been little mention of "solution" in this discussion so far. So for now I bid you ADSAuPR, atAJG.
Freedom = (Meaningful - Coerced) Choice != (Speech | Beer^2), and sad sock puppets' bad mods avail them naught.
Lucky that Linux costs me no time ...
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
Part of the attraction for OSS over proprietary software is the possibility of (competitive) contracting out support. Outside of RedHat for Linux, where are the support shops? I've worked on many (large) projects where they would be happy to let a contract for product support, but we couldn't find anyone to contract with. The expectation would be that we'd pay someone to fix bugs that got reported (with priority for those bugs we reported as significant), while contributing those fixes back to the OSS project (in accordance with the OSS project's rules.) If necessary, that might mean forking the project because we needed some fix/feature that was not accepted by the "rulers"/community at large. Again, though, the ability to do that is supposed to be A Feature, not A Bug (tm).
Not all users, even of infrastructure components, are going to be qualified to maintain those projects. And from a company's perspective, they'd rather invest developer resources in their own projects, and let the experts in the OSS components maintain that software.
I don't do work off the clock for my employer. I sure as hell don't do work for the world for free either. You want my services, you pay me. So I have no sympathy for you crying idiots who bust your butts for no money.
Pathological selfishness. And people wonder why the world is going to hell...
I think you're right in many ways, but it's an unavoidable problem inherent to the nature of open source software.
Many of these things get written because the people involved want things working their way, not someone else's way and the subtle details matter. If they weren't persnickety about it, they'd be using what already existed that did the same job and would have never written the duplicated but slightly different software.
My guess is the real loss is in the realm of the desktop user interface. If somehow it had worked out there was only one open source desktop it would be much better quality and would likely wind up with more and better applications. It would look more like the Windows world, really, but open source.
I tried for 20 years (since before university) with various project and means, extremely difficult to get people to pay for open source, support, documentation, donate, you name it. My latest expedient is YouTube videos to finance Open Source work: https://www.youtube.com/user/r... I'm at $3 a day, :-/
Mostly because that guy isn't very good at business. RedHat makes billions from FOSS software, as does ORACLE.
Contributions are only expected in proportion to demand for more work.
If millions of users take the project as it is, use it in its current form, possibly tweak it for themselves, take it apart, add new features for their own use, or do whatever they want with it within the license terms, that's fine - no contribution required. (Although it is always appreciated!)
However, if users start demanding new features, and customizations, and bug fixes, and support requests, on strict timelines, without offering anything back in return for their heightened expectations, that is when the project team starts to expect the users to contribute to the community beyond just issuing demands.
It is unreasonable for the users to expect and demand that the project team do work for the users benefit for free with no contribution back from those users to the community.
"Go to CNN [for a] spell-checked, fact-checked summary" -- CmdrTaco
I dug a ditch on my street for free, because it benefited me.
As a side effect, it also benefited my neighbours, and I am okay with them getting that benefit for free.
However, now the neighbour whose house fronts two streets wants me to dig a ditch on the other street for free too, and the house next door wants the ditch to run along their driveway as well for free, and the neighbour next door to them wants me to widen the section in front of their house for free, and they all get upset if I say no, because I dug the first ditch for free.
Someone needs to read the Little Red Hen again.
"Go to CNN [for a] spell-checked, fact-checked summary" -- CmdrTaco
If that means creating terrible patches and not integrating with the flow of the OSS project itself, they may do that... The choice may be to attempt to get changes harmonized with the community or just publish whatever they come up with at the end. I suspect that there's a latent annoyance about this particular thing coming from the OSS volunteers. But ... you can't be surprised that they're not doing a good job of helping you merge them into the mainline. They're doing the least they can get away with.
Except, they're missing out on some of the benefits by doing that. If they get their patches into mainline more easily, it's more likely that the next few releases will have their patches in them, and they won't have to keep updating their patches for the newer versions. Even more so if they contribute a unit test along with the patch - then they can have the comfort of knowing that their special case will be fixed for all time!
Because companies are focused on the short term benefits, they are losing out on the long term benefits for themselves.
And if they put the project "out of business" because it can't manage to handle all these out-of-flow patches, then the project goes away, and the company has to support the legacy system themselves.
"Go to CNN [for a] spell-checked, fact-checked summary" -- CmdrTaco
I've been in meetings where a choice of technology comes down to free VS non-free, and free wins almost every time. They are sometimes willing to pay something for "support", but not much. As for "giving back", some companies prohibit their employees from contributing code to anything.
So open source is great for the consumers of it, but less great for the providers and their commercial competitors.
I used to be a fairly prolific FOSS author and contributor. After many bad experiences with corporate leech asshattery and the general precariousness and impecunity of life as a Free Software developer, I said "never again".
Now I still want to write Free-like-freedom software that any human being can use and share. But I am absolutely unwilling to give anything, even a steaming bucket of my own turds, for free to the capitalist dogs and their corporate cancers.
Unfortunately there is no Free Software license that distinguishes between human persons and corporate legal fiction "persons". I've been wondering what it would take to modify the GPL or BSD licenses to support this distinction in a way that would be upheld by the courts. Maybe call them HGPL and HBSD, the H standing for "human".
Doubtless some butthurt shill is going to reply, "boohoo, corporations are just groups of people working together". No, you fool! A corporation is a legal entity, distinct from any of its slaves or owners. All software and related systems ("intellectual property") used by a company are owned (in a legally enforceable way) by the company - not by the slave who happened to build them.
He's a simple test whether the HBSD/HGPL would apply: is the owner of the "intellectual property" a human being, or a legal entity? If the owner is human - congratulations, use my software for free! If the owner is a corporation - fuck you, pay me or get sued.
have you noticed a trend of dependency infiltration? I think it's because people want to have projects depend on their package so they can get a job due to having proven expertise.
My theory is that for this reason a lot of packages in npm for example(and more and more on gradle) depend on other packages and get code submitted to make them depend on _more_ packages not _less_ packages, to the point where package dependencies are inserted just for things that need 3 lines of code to not be dependent on said extra package. and using that package needs 3 lines of code.
and that package has no backwards compatibility contract/mindset by the developer either.
though, on the topic, if the package is popular why do you need to worry so much about what the users want? just ask for donations to add the features they want if they want them in there. so why all the stress about the users? wouldn't it feel less useful if there weren't any users?
like, if they aren't paying you guys why do you need to worry about what they want, since they're using the software anyways. it's not like you have any obligation towards them like you would have if you were actually charging for it. like how is the stress worse than if you were working on commercial software and your manager just sold an impossible feature to make to a customer?
world was created 5 seconds before this post as it is.
That's how you get something like systemd. In Open Source, developers scratch what itches. If you want to pay for a development monoculture Microsoft and Apple will be happy to take your money.
What's the value in rebuilding a server every 90 days when your trying to learn something?
Cheap storage VM.
there are a lot more little ones, those are just the biggest ones. Many guys/small companies support themselves by providing support/customization for various FOSS packages. If they don't 'check in' the changes (e.g. most businesses not in the software business don't have to share the custom changes back to FOSS if the software is not re-distributed) that work is not made public.
Software is software, whether Open Source or Commercial. I tried explaining to a peer that a given commercial product was a heavy user of OSS. The peer said that was a flaw because OSS is totally unsupported...so we should go with a separate product that is totally supported by commercial software.
There are many OSS products that have a corporate license model in place that bridges the divide between the two. In the case above, the product using OSS invests in the technologies it needs, regardless of whether the product is OSS. That's a matter of risk management (pay to ensure your dependencies are supported) and giving back to the community.
I no longer develop...I'm effectively a layman. I use a few OSS offerings (e.g. Atom), and I license to a few products I like (e.g. Font Awesome). So, here's my thought:
If you're using FOSS, ask yourself how much you would pay for the product if it were commercial. Then either donate or license that amount financially...or offer your time. Assume you work 1800 hours per year (US Department of Labor says the average US adult works 1811 hours/year). Divide your take-home income by that amount. That's the value of your time. Rather than spend that money to the OSS, give that many hours of your time.
So, let's say your per-hour value is $30, and you would pay $900 a year for a given software product. That's 30 hours of labor you could give back to that OSS product.
What those who want activist courts fear is rule by the people.