Hacker News new | past | comments | ask | show | jobs | submit login

Unfortunately I've no good answer for your question, since I'm sponsored by Pivotal, but if we consider the percentage of open source software created, only a small percentage is sponsored. Many developers simply do it for free, as I did it in the first year of Redis developments, because I had an alternative stream of money to pay the bills. So, my point of view, is that the IT ecosystem is broken and IT companies are leveraging a huge value from OSS without providing enough back to pay developments of more OSS. It is one of the biggest injustices currently happening in the "rich world", but there is no easy fix.



I've been broadly thinking about ways to take a bite out of this challenge. I've visited a couple of 1% for the planet[1] companies and been really inspired by what I've seen. In short, these companies pledge 1% of revenue to environmental causes. As the company scales it has a massive effect on their culture. I visited New Belgium Brewing (makers of Fat Tire) for instance, and a huge number of their employees are solely responsible for thoughtfully putting that money into action and funneling it into worthy causes. Imagine the impact that a double-digit percentage of the workforce of your successful company whose job it is to stand up for the things you decided were important _besides profit_. It's really incredible.

I really like the idea of setting up guard-rails like this to embody cultural values early on in ways that keep the organization accountable to them at scale and I wonder if something similar could help OSS. It's not hard to imagine a similarly structured pledge being adopted by companies and being popular with developers. It could be structured in hours or money, executed with developer time, donations, or hosting OSS developers like Stripe has done.

If I allow myself the thought exercise of what happens if something like this started to see adoption, I imagine we'd see projects beginning to license themselves favorably to companies who make this pledge in a variety of ways.

At any rate. That's roughly what I've been noodling around with regard to this problem.

[1] http://onepercentfortheplanet.org/ and I highly recommend Yvon Chouinard's book Let My People Go Surfing, which was where I was first exposed to the idea http://www.patagonia.com/us/product/let-my-people-go-surfing...


I've visited a couple of 1% for the planet[1] companies and been really inspired by what I've seen. In short, these companies pledge 1% of revenue to environmental causes.

Interesting approach, but I bet those companies also aren't high growth tech startups/companies. The only goal at a growing tech company is reduce costs, increase revenue. They aren't looking for new ways to pay for things they legally get for free.

My favorite example is Redis at Twitter: Twitter has over 30,000 Redis servers deployed around the world using a total of over 500 terabytes of RAM (half a petabyte!), and they certainly have no interesting in paying for Redis. If Redis were typical "commercial software" licensed per-core or per-other-shennigans, they'd be paying over $70 million per year for Redis.

(Redis is a unique position because the core dev team of Redis has always been small so it's easier to measure the direct exploitation involved versus other projects with thousands of amorphous developers like Linux or Hadoop or Apache.)

Many open source projects are essentially corporate welfare. We work, make products companies use to make money/become more efficient/grow faster, the companies use the software for free to get richer, then nobody contributes back any of the gains.


I do want to argue the point. :)

The strange miracle of open source software is that when companies use something like Redis to make a lot of money, they end up investing in it, they contribute work to the project, and the community does gain from their contributions. In other words, the whole point of OSS is that exactly the thing you say never happens, happens all the time.

Most open source development is commercial.

To take an example from my day job: Bloomberg (the financial media giant) sponsored Andy Wingo (of Igalia, that guy is a genius) to contribute support for ES6 generators to both Mozilla's JS engine and Chrome's. An example of his amazing work:

http://wingolog.org/archives/2014/11/14/generators-in-firefo...

Companies use all things to get richer. That's the operating principle of companies. The competing model to open source is commercial software, in which the company owning the software has a monopoly over it and uses it to get richer... and the companies licensing it still use it to get richer.

In corporate welfare, the money given to companies is taken from someone else's pocket. Open source software is cheap because it eliminates the artificial costs of copyright monopolies.


In other words, the whole point of OSS is that exactly the thing you say never happens, happens all the time.

It's a matter of project scale too. Nobody cares about exploiting Hadoop because it's millions of lines of low quality code written by thousands of day-job developers.

But, if a project is clearly the work of, say, 2-5 individual developers, it's easier to see how those individuals are creating much more value than anybody is possibly compensating them for.

The main complaint seems to be "offering things for free then expecting good things to happen" doesn't work. So the only solution is "offer things for free and also provide support/services/hosting/accoutrement to companies with big pockets."

The trick is: how do you incentive companies to pay in the first place? There's the mongodb model: market, popularize, and aggressively sell broken software so people must buy support or else nothing works at all, or there's the RedHat model: target big companies and become their source of trust/knowledge for complicated things the buying company doesn't want to manage/understand themselves.

It can be difficult to sell highly popular, non-broken, simple software. It works, people use it, there are no problems, so, why pay, even when it runs your multi-billion dollar company (especially when the free support resolves all issues in less than 20 minutes anyway)?


But, if a project is clearly the work of, say, 2-5 individual developers, it's easier to see how those individuals are creating much more value than anybody is possibly compensating them for.

I think this is true of anything worth doing.

I like your characterization of the mongodb model and the RedHat model. (I don't see anything wrong with RedHat's model, by the way. More power to them.)

But your complaint would have made a lot more sense fifteen years ago. Now there are a lot of other models. There are even other models that work really nicely!

There are consultancies, like Igalia. Some companies hire open source developers because they use the project and want to make sure active development continues (antirez's day job might be an example of this; at a guess that's why Google once hired GvR, the creator of Python). Some use OSS projects as a recruiting tool; smart ones use it as a signal of quality in hiring. If you selectively hire engineers with OSS on their resumes, you are unwittingly paying returns to OSS development.

Companies can also use OSS to reduce the cost of external efforts that are strategically important to them, and they can win a developer mindshare benefit from doing so. This is why Microsoft open-sourced the .NET platform (under a good license!).

I'm no VC but the bazaar seems healthier financially than it's ever been.


the bazaar seems healthier financially than it's ever been.

Well, it's the difference between getting paid (salary, fixed, no logical incentive to grow/improve) versus getting paid (percentages of benefit, the more benefit you create the more you make, growing non-linearly with your actual output).

All of this is really just complaining around the fact it's not easy to reap rewards proportional to the benefit of software without creating a company and all the overhead required therein.

Another great example: memcached. It's well known facebook uses memcached heavily. The creator of memcached doesn't see any benefit from their usage of his software. Modern high-growth, multi-billion dollar companies are built on top of the work of individuals they don't even attempt to compensate.

Some of these arguments also apply to modern exploitation of musicians a la spotify/steal-my-music-ify, etc.


Well, it's the difference between getting paid (salary, fixed, no logical incentive to grow/improve) versus getting paid (percentages of benefit, the more benefit you create the more you make, growing non-linearly with your actual output).

(postlude)

It occurred to me this morning that even in theory, market economies don't pay to the seller a percentage of the buyer's benefit. They never do: it's not how they work. The full area under the demand curve, above the line indicating price, accrues to the buyer. Buyers that get a very great benefit (tangible or intangible) out of buying a pencil, a gallon of gas, or a computer generally pay the same price as those for whom the benefit is very slim; and there is no limit to that benefit.

This is mostly beside your point, I know. I just thought it was a nice idea, worth sharing.


That's pretty much exactly the point. I think this is a commitment that probably ought to be baked in from the beginning, before a company scales. It's hard for a large company to make a commitment like this commensurate with it's size without making the commitment early and scaling it along with everything else.

As for size, NBB is the second largest craft brewer in the country and Patagonia is a very large player in outdoor apparel.

>The only goal at a growing tech company is reduce costs, increase revenue.

Right. Fuck that, because that's not actually (ever) really the goal. Money's always a means to some end, so another way of looking at this is to put a stake in some particular end that you want to share with everyone at the company. That's culture. Culture is shared values, and this is a way to make culture measurable and something the organization is held accountable for over time.

Yet another way to look at this is what happens if when Larry and Sergey decided on "Don't be Evil" someone told them "That's adorable, but why don't you think harder about how to turn this into something measurable".


I don't want to argue your point and you should read heavily into the "tragedy of the commons" problem that plagues many open source communities, but companies can give back in many ways, in terms of bug fixes, features and improvements to the projects they use (at least wise companies do).

In Twitter's case, we've also contributed to the Redis ecosystem via twemproxy: https://github.com/twitter/twemproxy

Twemproxy helps scale some of the traffic for the top websites in the world: https://github.com/twitter/twemproxy#users


can give back in many ways

The standard way society compensates persons for useful goods and services is by exchanging currency, not by bartering favors or by saying "look! we made a billion dollars using your software, here, have these free 40 lines of code as a bug fix. thx."

Unrelated note: every time I see these (needlessly?) optimized string compare statements, I fall out of my chair laughing and/or crying: https://github.com/twitter/twemproxy/blob/a36fdae2a8a3c166d9...


The standard way people indicate to society that they would like to exchange currency is by setting a price for their product.

It doesn't seem particularly fair to say "here world, use my open source project for free," and then get mad that people use it for free.

And in fact, I don't think antirez is saying that. It looks to me like other people, who didn't build Redis in the first place, are the ones saying that.


I guess what I'm saying is, I don't see how your (or anyone's) interests would be served by the cost of Redis being a lot higher.


Open source software succeeds because there's no friction for trying new things. So, initial cost will always be zero. People love seeing their software used for new things, so nobody wants to prevent adoption. At the same time, nobody wants to support billion dollar companies for free. It's a perverse inversion of incentives.

Redis gets feature requests from companies all the time (implement X! It'll save us from lots of complexity and internal support time!), but they don't want to pay for it. Redis also gets support requests from big companies (where employees have already exited or sold stock back or are out buying Teslas), and I get to answer their questions for free too. I'm really happy Redis is running your multibillion dollar company and I'm certainly happy you see no irony in asking for free support when your company is visibly hemorrhaging idle cash. Sometimes you just have to say http://www.urbandictionary.com/define.php?term=fupm&defid=54....


ideally, what you want to say is "here's my software; if you need a good, free solution you're welcome to use it. however, if you're making millions off a stack that my work is essential to, i would like a share".

cory doctorow has made a similar argument about copyright and the absurdity of one-size-fits-all:

> We're trying to retrofit the rules that governed multi-stage rocket ships (huge publishing conglomerates) to cover the activity of pedestrians (people who post quotes from books on their personal blogs). And the pedestrians aren't buying it: they hear that they need a law degree to safely quote from their favourite TV show and they assume that the system is irredeemably broken and not worth attending to at all.

http://www.theguardian.com/technology/2010/jan/26/copyright-...


> Many open source projects are essentially corporate welfare.

You say "many", implying not all. What differentiates the "corporate welfare" category of OSS in your mind?

> We work, make products companies use to make money/become more efficient/grow faster, the companies use the software for free to get richer, then nobody contributes back any of the gains.

It seems more complex than that to me. I contribute to OSS, but I also owe my career to OSS. I learned to program using an OS language, an OS database, an OS editor, etc, and still use such tools. I never would have started learning if all that had cost money. So the "welfare" goes to companies, but also to individuals, who may come back and contribute.

Companies have also hired me based on my OSS contributions, which incentivizes me to do more.

"We give, they get" is oversimplified, at least in my case. I got, I gave, I got more, I continue giving.


History repeats itself, this book needs to come back in style...

http://en.wikipedia.org/wiki/The_Ragged-Trousered_Philanthro...


Salesforce follows a “1-1-1 model”[1], where 1% of the company's product, equity and time is pledged to improve communities around the world, and they're the definition of a high-growth tech company.

[1]: http://www.salesforcefoundation.org/about-us/


I agree. Let's close this issue: https://github.com/ABISprotocol/ABIS/issues/1


> the IT ecosystem is broken and IT companies are leveraging a huge value from OSS without providing enough back to pay developments of more OSS.

This!

Not only IT companies but VC's and startup entrepreneurs all rave about how fast and easy it is to develop and get a MVP out the door these days compared to year ago.

What % of their tech stock is OSS that they leveraging for FREE?! Not only that but if you run into a bug, you can even submit an issue ticket directly on github and get a dev to respond and potentially fix your issue for FREE!

Obviously, the pure technology is not the sum of startup execution, but I wonder how many of these people made huge $$$ without donating a nickle to the OSS projects that provided the backbone of their entire technology stack!


Glad to hear that it is sponsored - I did not know that. I agree with your points on the injustice, but with OSS it is hard to have it both ways. Lots of innovation comes from using OSS as building blocks by folks just starting out, who cannot afford it. Maybe we need more vocal social stigma against large profitable companies who built their company on free software and who don't give back. I've seen a couple good things happen recently though - with GPG and FreeBSD. Hopefully it is the beginning of a trend.


Pivotal is arguably a grand experiment to try to build an eventual RedHat-sized revenue stream on open source through subscription pricing. It's $300m now, and everything is open source or just was announced will be open sourced this year. Most of it in house R&D, some like Redis is sponsored patronage.

What's interesting is that most enterprises don't really want to freeride - they don't have the knowledge or legal will (indemnity) to go it alone, plus have esoteric requirements that usually don't lead to good open source projects and will pay for proprietary add-ins.

The main free riders are startups that couldn't afford a subscription anyway (until they scale and want help), along with service/cloud providers that are at such enormous scale and have such a large braintrust that they can go it alone. These are the organizations IMO (the Googles of the world) that really need to sponsor individuals and OSS foundations to avoid a tragedy (like GPG or even OpenSSL).


I think many people agree that hireing in IT is kind of broken. I think many people in the business world understand PR/marketing budgets. I'd position FLOSS spending as a way to open a marketing channel to potential employees.

The good players that give back need to be recognized and praised.

[I honestly have a hard time understanding why bigish companies that use/rely on the software don't just give 50k to the GPG developer or sponsor OpenBSD etc. which can be great PR while they can spend similar sums on somewhat silly PR campaigns. I guess "IT people" generally don't have much input when it comes to PR...even outisde of signaling that you're a cool employer it's genuine good PR for (tech) companies]


patio11 has a good suggestion in this article (see the last section "A Brief Meditation on OSS") - http://www.kalzumeus.com/2015/01/28/design-and-implementatio...


This seems to be the way that commercial Wordpress themes are sold. 100% GPL licensed, but sold in the normal way. eg http://crowdfavorite.com/carrington-build/docs/faq/#license. It seems to be working.


Yeah, that's a great point, but due to the unique "sponsorship" arrangement of Redis, Redis isn't actually allowed to accept money from anybody else for anything.

It's a tradeoff between "stable" income and "potentially unlimited" income, and Redis is still in the "stable" column.


That still relies on the company, or people therein being not quite economically rational: free riding is cheaper. Unless of course everyone does it and the good in question is then underprovisioned. It is certainly worth a try, though!


The thing is, free riding isn't necessarily cheaper for anyone.

When you're depending on the software in question, it being underfunded might mean you're not getting the quality and features that would pay off in multiples for you. You could be sitting on a pile of bugs, or your dependency could be abandoned at your expense. These things happen all the time in open source land and it's a tragedy.

I'm not convinced that freeriding is really rational at all. I would however grant that it's both easy and lazy.


Obviously it depends on the circumstances. There are cases where it's so important to you that you might as well pay up, free riding or not.


you don't have to look far to see how true your words are - there've been multiple security fiascos pretty much directly caused by what you describe and hopefully things like http://www.linuxfoundation.org/programs/core-infrastructure-... will start appearing. one can hope there will be a time when such initiatives will happen proactively instead of in response to a disaster...


> IT companies are leveraging a huge value from OSS without providing enough back to pay developments of more OSS. It is one of the biggest injustices currently happening in the "rich world", but there is no easy fix.

GPL?


Making everything virally GPL doesn't solve the problem of nobody paying for open source development.

I actually think if everything out there was GPL'd, it would make it even more difficult to build businesses and make money from open source software, because you couldn't use open source in a proprietary project if you so chose.

I think instead we need a set of incentives in which it's a terrible idea to use software, open source or not, without sharing a fair slice of the value you're getting with the author(s). How to actually implement this is left as an exercise for the reader.


> it would make it even more difficult to build businesses and make money from open source software

Yes, isn't that kind of the point?


Not in the slightest. If people are able to get paid for what they do, they're able to invest quite a bit more time and attention to doing it. Ideally, people could get paid for their development of software based on how useful others find it, without the collapse of value that comes from artificially making it scarce. There's nothing that guarantees that's a reachable ideal, though...


What about dual licensing? People who don't pay get GPL, while those who pay get BSD/MIT?


Then one person pays, gets BSD/MIT code, and shares it freely.

So, if you set the cost of BSD/MIT code for each release enough for one sale to fund the whole cost of the release, it might work.


I'm not sure it makes sense to have your second non-GPL license be BSD/MIT; wouldn't it be better to make it some proprietary license, licensing it specifically to the customer who pays for it?

But anyway; in my limited anecdotal experience, I don't know that all companies would bother sharing the BSD/MIT code anyway. They tend to be occupied doing their own work, not redistributing whatever open source software components they got from somewhere else.

Some companies might; but the point is that, I think that, no, they would not necessarily pay for it and then share it with everyone else.


They have to maintain it too if they want other people to use it. Red Hat and CentOS comes to mind. Nobody can run OSS RHEL without doing the same work the CentOS people are doing.


> They have to maintain it too if they want other people to use it.

Sure, but BSD/MIT projects can sell premium proprietary derivatives and services to fund both the open source and proprietary parts of the project -- heck, a company planning to do the proprietary aspects could buy the BSD/MIT license to the project and contribute that to a community project, and then contribute some staff development time to the open parts of the project while also building a proprietary derivative (see, e.g., EnterpriseDB and PostgreSQL.) And, the people that are likely to do that are the most likely to spend money to get a BSD/MIT license for something with a free GPL license, since they would actually have a financial interest which would justify the cost.


Traditionally, dual licensing works with GPL plus a "regular old commercial" license to integrate the library (it's usually a library) into the proprietary code.

It's a viable model for some things, like libraries; not so much for others.

Funding open source is a tricky problem. It is, in some ways, a 'public good' in the economics sense:

http://en.wikipedia.org/wiki/Public_good


If you make a dual license GPL/commercial product, how will any other people contribute? Wouldn't they have to agree that their contribution has GPL + whatever commercial licence the project maintainer sells to some company later?


Exactly, they have to assign copyright to you/your company.


No, they just need to give you a sub-licensable license. It might sound like the same, but it means they can still use their own work as they wish (and give out other licenses), unlike copyright assignment.


> think if everything out there was GPL'd, it would make it even more difficult ... because you couldn't use open source in a proprietary project.

If everything was GPL'ed, there would not be any proprietary projects. Everything would be GPL'ed.


As someone who likes the GPL and supports the idea that all software should be Free, the thing that bothers me about it is how "closed" it is to projects based on other Free licenses.

GPL projects "take" from BSD/MIT/Apache/etc projects (in the form of libraries, supporting software, etc) and only give back with conditions they can't accept.

You can say it's on them, for choosing the license they chose, they accepted that this could happen, but on the other hand, isn't that exactly what we're criticizing companies for?


The aim of the GPL is to ensure that the recipient of a program has the right, from a legal stand point, to obtain and modify its source code and redistribute the result under the same license.

The FSF is hostile to proprietary software and criticize liberal licenses because they don't provide these guaranties.


I understand that, but while the FSF might criticize liberal licenses, both GNU and many other GPL projects use code under those licenses, while their code is closed to the original projects. That's what bothers me.


And by choosing liberal licenses, those original projects have indicated that they're fine with that. Seriously, I don't see the problem.

If you don't want people to use your code without making their changes available to you, license it under the GPL. That's what the GPL is for. Criticizing GPL projects for the fact that some projects are not GPL seems an odd way to spend your outrage budget.


I'm not outraged. I'm torn over the ethics of my personal creations and contributions to GPL-licensed projects.

And I don't agree that choosing a license means the authors are necessarily fine with their code being used in such a way - it might just mean they don't believe in using (copyright) law to enforce it.

And even if they are fine with my activity, that still doesn't mean I must be OK doing it. As an analogy, I wouldn't sell tobacco, despite the buyers actually wanting to buy it.


A copyright license is the tool used by authors to tell the world how they want their code to be used. If someone publicly state that they like vanilla ice cream, but personally don't, then their public statement is silly.

If someone do not believe in using copyright law and dislike those who do, they should act accordingly and not deal with proprietary companies at all. Those are the majority users of copyright law in the software industry, as the number of GPL law suits vs proprietary ones is several order smaller.


If someone do not believe in using copyright law and dislike those who do, they should act accordingly and not deal with proprietary companies at all.

Sure. But that still doesn't resolve my dilemma, it just narrows it down.

Is it legitimate to take code published under a liberal license by someone who doesn't deal with proprietary companies at all and use it in a GPL project, knowing that it prevents the original project from using that derived code?


No, because thanks to GPL the code is available.

LLVM is a great project and brought the possibility of .NET/Java tooling to C and C++, but just check the amount of GPU shader drivers, Swift and some embedded compilers for examples of companies abusing BSD/MIT/Apache/etc projects.


> LLVM is a great project and brought the possibility of .NET/Java tooling to C and C++, but just check the amount of GPU shader drivers, Swift and some embedded compilers for examples of companies abusing BSD/MIT/Apache/etc projects.

Its not "abuse" to do something the license is designed to permit. Not everyone -- and particularly not everyone who chooses non-copyleft free software licenses for their projects -- agrees that the reciprocal obligations enshrined in the GPL represent fundamental moral obligations that exist without the GPL and that violation of them is "abuse" in the absence of a agreed requirement, e.g. contained in a license, to adhere to them.


On the other hand, consider the following: Emscripten, Numba, Julia, Rust, Pyston, Pure, Polly, Mono-LLVM, ghc -fllvm, Terra, ... and those are just the ones I can think of in a few seconds. Several of these have the potential for huge impact over the next decade, and nearly all of them would have been significantly less viable either using GCC tooling (due to license-driven architectural decisions) or building a backend from scratch.

LLVM is known for being rather ruthless with their API refactorings. This has the twin advantages of keeping the code quality very high, and giving people an extra incentive to contribute upstream (e.g. the PS4 compiler backend). I won't go so far as to say this is intentional, but it does represent a rather amusing way to discourage users from keeping everything in-house.


Code under the Microsoft Reference Source License is also available, but would you not consider it an abuse if, say, Microsoft made a LLVM-based language under that license?

The code being available is only useful if you can use it, and my point is that projects under most FOSS licenses can't use GPL-licensed code, which only takes without giving back in a usable form.


AGPL




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: