Hacker News new | past | comments | ask | show | jobs | submit login
Cracks are showing in Enterprise Open Source's foundations (jeffgeerling.com)
196 points by geerlingguy on Jan 28, 2021 | hide | past | favorite | 117 comments



Corporate sponsorship of open source is entirely dependent on top talent caring about open source and thus being more willing to tolerate working for EvilMegacorp if major pieces of the infrastructure they work on are open.

When top talent just accepts the big money contract regardless, corporations see little incentive to sponsor open source. Software development is the only industry that has large portions of infrastructure free and open for anyone to use, and this is due to inheriting the values of key founders of the industry a generation or so ago.

It's up to us to carry that torch, or we will become like every other industry.


> and this is due to inheriting the values of key founders of the industry a generation or so ago.

Is it? I think it has more to do with companies realizing that [1]commoditizing their complements is a sound strategy, and [2] using open source as a growth strategy.

When you get to the "harvesting" stage or the "entrenched monopoly stage", the FOSS license doesn't make sense if you were using it merely as a growth strategy.

[1] https://www.gwern.net/Complement

[2] https://www.gwern.net/Complement#open-source-as-a-strategic-...


Commoditizing software was never a strategy, at least until a very recent stage. Open source software projects commoditized software either by being vastly more successful and out-competing their alternatives (gcc[1]), or by being a singularly better value proposition than their alternatives (linux[2]). The companies which have "commoditized their complements", used "open source as a growth strategy", or "become entrenched monopolies" have always had a rather sketchy relationship with open source software, which is why they have preferred to avoid an actual free software license.[3]

[1] Back in the good ol' days, everybody made C/C++ compilers. OS vendors made compilers highly tuned for their hardware and software; others, like embedded vendors, made compilers tightly integrated with their tooling. Then gcc showed up everywhere, and started producing optimized code better than the tuned products. By the time LLVM appeared (2003?), its only real competition was gcc and a fork of gcc.

[2] Originally, Unix vendors had incremental improvements over their competitors in specific areas (IBM: SMIT/JFS, SiliG: graphics, etc.). Initially, Linux was a joke. Then it became as stable as the vendor OSs and the hardware it ran on was cheaper. Then it ran on any hardware. It may never have achieved feature-advantages over the competition, but taken as an entire package, the competition couldn't provide anywhere near enough value.

[3] IBM's a funny case, especially with Red Hat. IBM hasn't had a functioning software (or hardware?) product for at least 30 years.


You’re just describing the process of how all that software became commoditized. Software the everybody needs to use is simply a commodity now, and that’s why the more generically useful something is, the more open source support it’s going to have. Companies (usually) don’t want to build their own infrastructure, the want to spend their money investing in their value adds, because that’s where they get their RoI. A company could build their own web server, operating system, compiler, database... But their customer are unlikely to see any benefit from that, which is why they find themselves with an incentive to improve open source software. That’s the reason big open source projects attract large corporate sponsorship, not to satiate the ideological motives of “top talent”.


Many of the companies that appear to be "harvesting" their entrenched customers have not switched away from a FOSS license.

Examples:

• Apple

• Amazon

• Facebook

• Google

• Microsoft

• Netflix

• Red Hat


The open source from your list largely falls under #1. They didn't open source their primary product, but rather their complements. That is sustainable, whereas #2 is not when a permissive license is involved.

Strategy #1 is self-interested and doesn't require any real zealotry and survives the harvesting stage just fine.

Open sourcing your core product with a permissive license is generally going to be at odds with business goals at some point, and if you're in business, often the thing to give is the license.


Ah yes, Apple, which famously open sources its software ...

Only Red Hat on this list comes even close to open sourcing a significant percentage of its stuff.


I personally prefer to let Apple have it, it's "open source" all right.

If you want Free Software, then feel free to use something more potent than merely an "open source" license the next time you release something.


I'm skeptical that this is a big factor. I think companies support open source where it aligns with their own strategic incentives.

Oldie but goodie: https://www.joelonsoftware.com/2002/06/12/strategy-letter-v/


People who write open source do it for analogous reasons, except the "strategic incentives" are often personal. Those reasons can change quickly when shiny new things appear. There's a wealth of abandoned OSS projects that illustrate this point.

Anyone working on Mesos these days?


That's been my experience as well, and the same applies to groups that own/maintain certain projects, like drools/RHDM. The project/technology owner/maintainer is aligned with corp based on customer size/needs, and that alignment is a function of how much the customers are paying.

If and when a large customer drops out, the entire corp and open source structures can change because the monetization changes. On the plus side, if there's a broad customer base, this is less likely to happen.


When will this not be the case? Most companies use a lot of open source, in order to ship quickly. I suppose the thesis of main link is, that's no less so the case -- but here we are, building UIs with Vue/React/Angular/etc. Tons and tons of open source tech to enable shipping more quickly.


Which values would those be? Everything used to be proprietary. It's the younger generation that expects things to be open source.


I don't pretend to be an industry expert but things seem different now, in this day of Everything-as-a-Service and subscriptions-as-primary-revenue-streams, from when Free Software first became A Thing.

It's just so easy these days for a corporate parasite like Amazon or Sony to rip off your hard work (ElasticSearch, BSD) and contribute essentially nothing back.

The SSPL seems like a perfectly rational response to this newly-emerged phenomenon.


I have serious question to you and everyone who try to advocate for SSPL. Don't you understand that this license has clause for SaaS providers that impossible to comply with?

Even if Amazon wanted to open source every single line of their own AWS code under AGPLv3 or APLv2 it's still not enough: the license require everything to be published under SSPL in very fuzzy terms that can even apply to OS kernel.

Even copyleft licenses always had a goal to increase amount of copyleft code, but SSPL only goal is to completely ban 3rd-party SaaS from using said software.


> the license require everything to be published under SSPL in very fuzzy terms that can even apply to OS kernel.

Not even a little bit.

From the SSPL itself:

>However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work.

Explain to me again your FUD?


I completely disagree that cracks are showing and I think you used two very weak examples in CentOS and Elastic.

These were and always have been losing bets. Elastic has always bemoaned being open source, so everyone should have seen that coming. And CentOS died when they were bought by RHEL. Anyone who put their weight into these programs after those red flags went up were taking a risk.

And that's exactly why OSS is not cracking. Not even close. So CentOS and Elastic aren't open source anymore. Who cares. "But my workflow! How will I do xxx or yyy now?"

Do what you did before CentOS and Elastic. Find an open source alternative. If there aren't any and it's important enough make your own. The world will go on people.

Just like Gitlab jacking the price. They want you to assume that your choices are to either pay more or go without source control. It's up to you to be smart enough to say "I'll just find another source management solution that fits my budget."


>So CentOS and Elastic aren't open source anymore.

CentOS is still open source. Nothing is happening to the sources themselves. It's the work of taking those sources, stripping trademarks, building artifacts and distributing them as a near identical-clone of RHEL which is ending. Or at least, Red Hat doing that work at their own expense is ending.

"Rocky" and "Alma" linux are picking up that work themselves, nothing prevents that from happening.


To your point, there are already two alternatives for CentOS users:

* AlmaLinux: https://almalinux.org/

* Rocky Linux: https://rockylinux.org/

This looks like business as usual in open source.


Neither of which have ISOs yet.


> First, how can we make sure developers who build open source software are compensated for their work in a just way?

Honest question: isn't this a fundamental contradiction? If you are building a thing that by definition is given freely to anyone who wants to use it, how does compensation for that work become part of the formula? You can't be monetarily compensated for it, because you chose to give it away. There are other forms of compensation but that seems clearly not what we're talking about here. The author goes on to ask how you can build a business around open source? But isn't the answer that you can't? If its really open source then the software itself is not a business.

That, to me, seems consistent with the original idea of open source: that it was the cool things you could build with code, not the code itself, that had value. None of the iconic success stories in tech over the last decade have sold code, have they? They've built things on FOSS code that never existed before, and most of them have contributed a lot of FOSS code back. But they haven't sold databases, reverse proxies, and key/value stores, right? I've paid six-figure annual licenses to Oracle. Is that the world we're trying to preserve here?


> Honest question: isn't this a fundamental contradiction?

I'm glad someone brought this up. When a developer (or artist, or musician, or other creative person) gives away their work for free, that is fine by me. But when they later hold out their hat and say, "by the way, I worked really hard on that and I'm a nice person, would you mind paying for it now?" that's when I feel like I'm being manipulated. If you wanted money for it, you should have just said up front instead of tossing the guilt trip in at the end.

I do appreciate Jeff's enthusiasm for technology and he's done some cool stuff. I would totally hire him for a consulting gig if I were in a position to do so. But he's part of this "give stuff away for free and beg for money later" culture that rubs me the wrong way.


Do you listen to National Public Radio in the US? They broadcast all of their content for free on FM radio, and then ask for donations a couple times a year. Does that feel manipulative to you? Genuine question, because to me that doesn't seem that different the developers holding out their hat after releasing an open source library.


It really depends on how they do it. Do they try to guilt trip you into giving donations? Or act indignant and insult their listeners when cash runs dry? I don't have experience with NPR, but my guess is no.

Edit: I think the main difference is having or not having an expectation that you will be paid later for something that was provided for free.


I think the point is, how can we make it so the companies that build profitable products using open source code can support the developers who build those open source libraries?

There are a lot of projects (sudo being the most recent example) supported by a team of developers in the single digits (or just one) that are relied upon by projects raking in millions if not billions in annual revenue.

Finding ways to give back and keep the developers motivated is important in the long term, unless you plan on rewriting all the software you depend on.

Currently the two sustainable answers for that are:

1. Hope some company is generous in hiring said OSS developer and paying them a salary to continue working on that OSS work (ideally without too much pressure to modify it for that one company's use case).

2. Make that developer spend a lot of time doing marketing to generate donations/sponsorships to a level where the developer can pay for things like food, shelter, and insurance.


> There are a lot of projects (sudo being the most recent example) supported by a team of developers in the single digits (or just one) that are relied upon by projects raking in millions if not billions in annual revenue.

But the whole reason they are relied upon is them coming for free. If sudo users where expected to give something back it wouldn't have landed on millions of machines in the first place.

FOSS coming for free means, of course, maintenance being dependent on the authors' whims. Not paying means not being owed anything.

Yes, that's not sustainable. FOSS is a gift from the developers to the world. It's not a business model or a way to make a living (at best it's part of a strategy to make a living).

It would be great if we all could gift something back be that help with maintaining or money.

But we should be careful not to demand support. Everyone "whising up" and only relying on software they either maintain themselves or paid someone to maintain might look different than we imagine. Might just be people buying proprietary software rather than funding open source development.


> Currently the two sustainable answers for that are

No, there aren't two, there are three; the third one is the one you slid by:

> rewriting all the software you depend on

If sudo bugs don't get fixed by the existing developer(s), companies that depend on sudo will just end up writing their own. I suspect that in most cases companies will see that as cheaper than having to pay an open source library developer, who is not an employee, to maintain an open source library that is not under the company's control. So if the open source developer isn't donating their work for free, the companies probably won't end up using it at all.


>I think the point is, how can we make it so the companies that build profitable products using open source code can support the developers who build those open source libraries?

This. This is the conversation we need to have.

However, I doubt that a public company on the USA stock exchanges -- which by definition is concerned with a Capitalist maximization of shareholder value, can rely on donations.

They need to be able to return venture capital money at a multiple. So, why did they take the cash in the first place? So that they can build a company to govern and employ the team members and build expertise to fund the R&D needed to build the product and support customers.

It seems unfair to me that a company with deep resources chooses to fork and modify instead of investing in the company and owning a stake to help influence the roadmap and/or enter into a resale / partnership model for monetization.

It's a tough scenario and it needs to be discussed.


Playing devil's advocate here (because I have weakly held opinions and no good answers of my own):

> There are a lot of projects (sudo being the most recent example) supported by a team of developers in the single digits (or just one) that are relied upon by projects raking in millions if not billions in annual revenue.

But they gave it away for free. That would be the same whether there were big, small or zero companies using the software.

I think probably the problem is framed wrong:

- maybe giving software away free was a bad idea (I don't believe this; just putting it on the table for conversation)

- maybe those giving away their software free should make better calls _for themselves_ about how they spend their time

- maybe use different licensing

- stop calling it free; instead call it "free a the point of consumption" and consciously build a model to support that at the outset (this is my current personal opinion, but I grew up in the Uk when it had a functional NHS so I'm biassed)

- dig deep on what both "free as in beer" and "free as in speech" mean to you and how they relate and what you want to do about that

Open source came out of a joyous utopianism that hasn't been backed up the wider societal changes needed to sustain it. This is understandable because that work is ridiculously hard (and I'm aware some people _are_ trying to make those changes. I just day-dream about it).

Currently, most of the world works on capitalism, for better or worse. I'm not trying to defend or attack capitalism here, but when you work in a capitalist system and _all_ your other interests and life support systems use capitalism, you have to factor that into your thinking. Open source makes more sense in a post-scaricity society and we're not there yet. FOSS might even help us get there, and the problems we're seeing in the past 3-4 years might be the signs of things changing.

I know this message sounds like victim blaming, and that's a real problem in some situations, but I don't think this is the situation here. Everyone working in tech is at a higher than average level of privilege than their immediate peers; working in FOSS is a choice you make from that position of privilege.


Open source is not a business model. You can make money in open source, but not by accident. You have to find a viable business which incorporates open source. One common approach is SaaS, where the software is open source and you provide value by selling hosted versions, with paid support, competing on the reliability and utility of your infrastructure, expertise of your support staff, and integrity of your business.


>ne common approach is SaaS, where the software is open source and you provide value by selling hosted versions, with paid support, competing on the reliability and utility of your infrastructure, expertise of your support staff, and integrity of your business

The big problem with this is that most of the large enterprises which are really spending the money for this, 99% of the time are going to pick Amazon or Microsoft or IBM for hosting/support over AwesomeOpenSourceLibrary LLC, especially since they likely already have contracts with those companies.

From a practical point of view, if I have N open source libraries that I use in production, as a large company, it is better for me if I have Amazon support all N libraries, than having N different contracts with N different companies for support/hosting.


It's not that hard to compete with AWS. AWS is scatterbrained and provides a really bad UX and as-is integrations where the "is" is not great. You might lose some business to them, but the cases we've seen lately aren't that: Elastic cleared almost half a billion dollars last year.

What open source does mean is surrendering your monopoly over what you build. Amazon may capture some of your value as a result, but that's part of the deal. I wrote about it here:

https://drewdevault.com/2021/01/20/FOSS-is-to-surrender-your...


"It's not that hard to compete with AWS. AWS is scatterbrained and provides a really bad UX and as-is integrations where the "is" is not great."

A lot of enterprise buying decisions come down to: "AWS/Azure/... is already an approved vendor, so let's just buy from them instead of going through the hoops to get Elastic approved". The "super scalers" are offering a path of least resistance that is difficult to overcome.


> isn't this a fundamental contradiction?

It isn't. You can accept donations. You can charge for support/enhancement work, or for a managed service. You can also find a salaried job where your work is released under a Free and Open Source licence, such as Linux kernel development.

You're right that it's famously difficult to monetise Free and Open Source software, but there are a few examples of it happening.

> the original idea of open source: that it was the cool things you could build with code, not the code itself, that had value.

Perhaps I'm missing your point here, but as far as I know, there's nothing in the Open Source or Free Software movements that ever viewed FOSS primarily as the basis for interesting proprietary software.

> They've built things on FOSS code that never existed before, and most of them have contributed a lot of FOSS code back. But they haven't sold databases, reverse proxies, and key/value stores, right?

Red Hat might be the clearest counterexample here. If I understand correctly, their charge for their official builds, which I suppose is a way of charging for support.

You're right though that many of them go with a service model and don't publish the code. Amazon Aurora, for instance, or Google App Engine.


> Perhaps I'm missing your point here, but as far as I know, there's nothing in the Open Source or Free Software movements that ever viewed FOSS primarily as the basis for interesting proprietary software.

Proprietary doesn't factor into it. Maybe a clearer way to put the thing I am positing: the idea behind open source is that it is interesting end user apps that have value and change the world, not the software components from which those apps are built.


Ok, but Open Source principles and Free Software principles both apply equally to library code and to application code.


True, but there are a lot more applications and use cases for an open-sourced redis than an open-sourced twitter. Let me try again: Twitter was built on an open source foundation, changed the way people communicate forever, and created a huge amount of liquid value. Without open source things like Twitter probably would not have come into existence. Twitter has in turn contributed a lot of important open source software back into the community. Elasticsearch or redis, by contrast, enabled many of these cool new things to exist, but by themselves those excellent software components changed very few lives. If you made redis and tossed it out in the world with a ta da! very few people would care. I always felt that open source was an explicit recognition that we care about and attach value to the big ideas that change the world, and that by making the building blocks freely available we caused more of those big ideas to come to fruition. Now that the big ideas are perhaps a little harder to find we seem to want to attach a price tag to the parts again.


> If you made redis and tossed it out in the world with a ta da! very few people would care.

Right, it's the application/library distinction again. Developers might care a great deal, even if there's nothing interesting using it yet.

> open source was an explicit recognition that we care about and attach value to the big ideas that change the world, and that by making the building blocks freely available we caused more of those big ideas to come to fruition.

I suppose so, although the 'free' (as in price) component there can be separated out from Open Source. Freeware (software which is made available free of charge but which is not Free Software or Open Source) can also serve as a platform, but in practice often loses out to Free and Open Source alternatives. SkyOS is dead and gone, the Linux kernel continues to conquer the world.

The Open Source position is that Open Source is the most effective way to develop software, and of course it's had tremendous success in 'infrastructure' software (libraries, frameworks, operating systems, programming languages).

(This is quite different from the Free Software position, which holds that non-Free software is a problem in terms of power and control over users, quite aside from the question of how to most effectively develop software.)

We should be careful not to go so far as to say that Open Source is about enabling interesting/profitable non-Open Source programs. Copyleft licences are explicitly hostile to this, but are recognised as Open Source licences.


There are a number of companies who do open source development and get paid for the development work that they put in, rather than selling the software itself. This seems like the least bad way to do open source things, although it is fairly incompatible with VC money, although ISTR RedHat has taken VC money at some stage.


In my nigh on 30 years of work, mostly using and writing open source, I have never been compensated for writing software. I have been compensated for solving problems. The fact that it involved writing software was irrelevant.

I would argue that compensating developers for building software is the wrong way to look at it. IBM (and possibly Red Hat?) are mostly consulting companies---the development work they pay for is in support of their consulting.


>I would argue that compensating developers for building software is the wrong way to look at it. IBM (and possibly Red Hat?) are mostly consulting companies---the development work they pay for is in support of their consulting.

Red Hat is not a consulting company. According to the Q1 FY2020 financial statements, "Subscription revenue in the quarter was 87% of total revenue." which means consulting is somewhere in that leftover 13% (categorized as "services").

What you perhaps mean, is that the number of kernel developers, gcc developers, glibc developers, (and so on) they have on staff is a benefit in terms of providing good support. In that sense, if a customer has an issue and need support, the "development work" does benefit the ability to provide that service. I wouldn't call that consulting though.


> But they haven't sold databases, reverse proxies, and key/value stores, right? I've paid six-figure annual licenses to Oracle. Is that the world we're trying to preserve here?

Maybe? Why can't you sell a database, reverse proxies, or key/value stores? What if I want to start a business around a database, reverse proxies, or key/value stores? How does that work with FOSS?


The premise is wrong. The consolidation of computing to a few mega platforms or companies is the big issue open source is where you are seeing the symptoms.

Elastic is just another app/database platform. Open source is a side issue with Amazon... the real problem is that ultimately, their ability to exist as a platform is ultimately in the hands of a few companies.


I disagree. Not to say that the consolidation is a good thing, but it's not the core problem.

If I spend a year of my life and savings to write a new database, how do I make money? Can I make money and open source my work? How?

There isn't an easy answer. Open Source isn't always the right answer, and a whole lot of naive software developers are learning this the hard way.


That's always been a challenge; usually the model is to sell features or certification if you go open source. Alot of people buy RHEL for FIPS 140-2 validation, for example.

Even in closed source, some of these business models are dumb with or without open source being in the mix. Think about companies like Citrix or VMWare who are essentially selling their customer book to Microsoft and to a lesser extent Amazon for virtual desktops, and to Microsoft, Amazon and Google in the server space. ISVs used to compete with each other to sell their stuff to run customer desktops or datacenters. There was no aggregation of their runtimes Now for most of the market they are competing with each other to rent their software on big platforms, which may opt to strangle them at any time.

On the open source side, people who need FIPS still buy RHEL. Frugal people who need FIPS buy Oracle. RHEL is still open source, and the cheapskates who rely on CentOS can still do so, they just don't get to ride on RHEL's engineering work backporting new fixes to old software. Elastic never had a sticky business model.


> But maybe they're onto something. Maybe blindly adopting permissive open source licenses to invite more corporate ownership isn't the right answer.

I do think this is the answer. Try to use LGPL, GPL or AGPL as appropriate.

I also agree with some people that there's an issue with framing the question as defending the right of developers to get paid for open source. This was never much of a thing by default. People have been trying to build FOSS companies, with varying success. But I would guess most end user-facing things, like GNU, Linux, VLC etc. were built by academics or hobbyists, or foundations. Commercial FOSS tries to sell infrastructure to enterprises. It's not things you and I would use if we weren't IT professionals.

(Linux is a peculiar beast here. The kernel is largely developed by big corps, but playing by the copyleft rules, because it's such a fundamental infrastructure. Big distros like Ubuntu and Fedora are the middle ground where they can be freely used by individual people, but are a side effect of Canonical and Red Hat's development processes.)

The correct framing of FOSS is benefit of the users and the society at large. We use .?GPL to ensure that the software that people use is inspectable, and modifiable if the vendor does something bad. Thus we serve people's, and our own, interests in the long term. We reduce the area where companies can damage the public for profit, when hiding behind closed source, unchangeable dark patterns, "hai we ban you there is no appeals" etc. etc. That the essential software can be had free of charge in practice is also a nice thing... to some extent.

The answer to the problem of compensating the developers was never much directly solved by FOSS. (Of course, you can try to use it to also get hired, to sell hosting or support.) This is a social/political/economic problem. Trying to solve it with licensing (a.k.a. copyright law hacking) is and understandable effort, but very likely a dead end.

EDIT: I see under the sibling comments that the OP is more specifically concerned about the fundamental and "invisible" projects like sudo. I can't add much on that, but I do think there's value in getting (some) signaling and (some) bargaining power by choosing copyleft. Especially if there would be solidarity and consensus among developers in doing this.


You are completely right. But the answer to this is always the same: off-topic Stallman ad hominem

> Linux is a peculiar beast here. The kernel is largely developed by big corps, but playing by the copyleft rules, because it's such a fundamental infrastructure.

Not quite. linux is the success of the past! but already corrupted by "tainted" kernel...

linux adopted GPL, which was *unthinkable* by corporate back then. But because devs didn't cave in to "permissive license fallacy", they had to eat it up.

The thing is, GPL is severely outdated. It does nothing to force Google, Amazon to open source their code that they profit from because of an OSS base work. GPL, with tainted kernel, merely force them to open source irrelevant parts of Android. The drivers and spyware-DRM can all remain proprietary. And does *absolutely nothing* to their bread and butter, which is hosted services on top of OSS software.

until we stick to GPLv3 like linux stuck with GPL, opensource is point less.


> linux adopted GPL, which was unthinkable by corporate back then. But because devs didn't cave in to "permissive license fallacy", they had to eat it up.

Linux using GPL wasn't such a big problem for the corps, as the Linux developers stated the syscall interface is the GPL boundary. So you can make user space code that runs on Linux without being affected by the GPL (see e.g. the Android "no GPL in userspace" rule). And even inside the kernel, there are loopholes to get around the GPL (e.g. the "tainted" thing you mentioned).

Even if Linux were permissively licensed, the thing preventing splitting up into a zillion proprietary forks would, I think, be the ferocious development speed and lack of internal API guarantees.

> until we stick to GPLv3 like linux stuck with GPL, opensource is point less.

I don't see what GPLv3 would solve here. To close the "service provider loophole" you need the AGPLv3, or even something stronger. But given the more or less total lack of adoption of AGPL, I'm not hopeful here.

I mean, it would be nice if copyleft would be the norm, but that goal seems to be slipping further and further away all the time. To the point that corps can start to shun copyleft code, pressurizing the remaining holdouts to switch to permissive licensed or become irrelevant.


> Linux using GPL wasn't such a big problem for the corps, as the Linux developers stated the syscall interface is the GPL boundary.

That is fine for creating applications. It still required drivers and other things that expose syscalls to be open and GPLed.

> Even if Linux were permissively licensed,

The tainted kernel was the attack on the GPL itself i talked about. After tainted kernel, it is pretty much NOT-GPL, hence the devs gave in to a more permissive license while still calling it GPL. So the rest of the point is moot. Linux kernel DID adopt a permissive license, which is the reason we do not have proper open source android today.

> But given the more or less total lack of adoption

chicken and egg problem. But that is *exactly* the argument against GPL for the kernel in the past.


> But that is exactly* the argument against GPL for the kernel in the past.*

Since you bring that up, could you give some good link for reading about it?


I tried to google for you planning to hit the very first result and mock you. I will admit my shame.

To my surprise, despite this controversy being bigger than the systemd one recently, it mostly happened on mailing lists and other non-public forums!

I wonder if anyone collected all that history.

most of the public materials of the time are diatribes by non-coders: https://books.google.com/books?id=GlAEAAAAMBAJ&pg=PA90&dq=gp...


>Not quite. linux is the success of the past! but already corrupted by "tainted" kernel...

> linux adopted GPL, which was unthinkable by corporate back then. But because devs didn't cave in to "permissive license fallacy", they had to eat it up.

True, I didn't expand on that to be more concise. Linux is a grandfathered treasure. Though there's an argument the corporations could use BSD like Apple, it's just more beneficial for the fragmented PC/Android ecosystem to maintain Linux sort of like an open ISO standard. Either way, this is not an easy story to replicate, unless something is essential on the level of Linux.

I think with the way the situation develops, more and more people will be questioning permissive licenses as the no-brainer standard. I'm not saying there's no place for them, if you have a good business reason or something. Buy you don't have to unconditionally donate your labor to entities with nation-state-GDP-sized coffers. Copyleft alone won't solve the problems of the industry, but an expansion of its mindshare it would be a start.


> But I would guess most end user-facing things, like GNU, Linux, VLC etc. were built by academics or hobbyists, or foundations.

I think some of those things from the "golden age" were built by people working on the clock, in salaried full-time positions, at companies that had businesses separate from that open source product, but which used the open source product for that business.

They were getting paid to solve problems and get things done, and if they got it done with open source, that was fine, the company wasn't trying to make money off of the software that solved the problem.

(Also by university faculty getting paid by the university).


Note that, had Elastic chosen to move to GPL/AGPL/LGPL, it would not have blocked Amazon since Amazon already releases the sources of their modifications to Elasticsearch.


There is a fundamental problem, in that open source makes it easy to take and not give. It has many advantages, but that means that it is hard to give it high quality support and development (which generally requires paying people) if you cannot monetize something about the software -- be it support, or hosting, or selling some close-source product that depends on it.

If the licensing terms let someone else monetize your investment to the detriment of your own revenues, that's a problem. Even if you would be satisfied with break-even, you have to pay your own developers.

Amazon may be "within their rights", but the pattern is unsustainable as-is.


> There is a fundamental problem, in that open source makes it easy to take and not give.

The GPL licenses address this problem. It's just a shame that the trend nowadays is towards BSD-like licenses.


It does address the problem. However, it also scares away users and fractures the market.


I never understood what is there to be scared about.

People buy Microsoft Word knowing they won't be able to change it, because it's closed source. However it sells well.

Do people use LibreOffice because it's Mozilla licensed and not GPL? Do all those people that don't dream about modifying Word really want to add secret proprietary features to LibreOffice?

Similarly, Oracle (the database) vs MariaDB (GPL) vs PostgreSQL (its own license, basically MIT / BSD.) There are definitely people that patch databases but I wonder how many people here decided to use one and not the other because they thought "what happens if I ever want to add something to MariaDB and nobody else must get it?"


No, where is scares them is at the copyleft level, when they are writing software. You're quite right that it probably doesn't scare many when they are just using it as an appliance (e.g., a database).


Elasticsearch moving to GPL/AGPL/etc would not have blocked Amazon since Amazon already freely releases the sources of their contributions. That is why Elastic instead chose the niche license SSPL.


I think the problem boils down to 'product' vs 'project.' Elastic search is very much a product, it's owned by a company, not a foundation.

FOSS developers should contribute to projects and not products. Non-copyleft licenses seem to just be code for corporations to build upon, providing them free labor while getting little in return. At least with the GPL, you are getting a promise that they will make available their sources. Consider carefully your expectations when you license your software.

An example where a project/product hybrid somewhat works is web browsers. Generally speaking, there are several competitors trying to achieve something similar, and there are some attempts (however nebulous) to create standards bodies. The Elastic Search community could have done something similar and formed a standards body around some sort of specification.


I see FOSS as more of a marketing tool for profit-motivated entities / founders. It's the modern, marketing equivalent of a limited, free trial for software. But, ultimately, if your company is owned by shareholders, their motives are your motivations. When the money matters more, this is what you get.

FOSS is all about idealism. It's hard to retain your idealism when someone is waiving $1+ billion dollars in your face with one hand and holding a loaded gun to your head with the other.


Not only idealism. There is plenty of "I scratch my itch" kind of thing. (sharing can be done for self markeeting purposes, bragging rights)


I don't know about Open Source - but Free Software is about users having the right to understand and modify the software that they use. This is my understanding of 'the printer story': https://www.fsf.org/blogs/community/201cthe-printer-story201.... With hosted solutions the software runs on the supplier servers - so if the user wants to modify it he has to resign from the hosted solution (or maybe negotiate a special case - this does not seem very realistic). This is a fundamental limitation. If the software is Open Source the user still can copy it, modify and run it on their own servers (or on some other cloud supplier who would agree to the change) - but it is a lot of hassle (and hassle is important - after all with enough work you can always decompile a binary so it is only the hassle that differentiates source code from binary). Maybe if there was enough competition between cloud providers - then this could work - but I think the economy is against it.


The trend where there's a split offering of a community open source product coupled with non-open source premium offerings is sometimes a crack as well. Especially when relatively essential features aren't in the community editions.


MySQL/MariaDB split went fine. People will build or fork the software they need.


GitLab comes to my mind, where an issue can either be open or closed in the community edition. You literally have to pay for "work in progress".


A lot of software that was once innovative is now mature.

20 years ago, the bar for what you could sell was really low, because there just wasn't a lot of software available, full stop. If you had something that was even a little bit useful, somebody would probably want it. People who bought software from you once were also eager to pay you for updates, because annual improvements could be dramatic.

So what happened?

Features that were once unique selling points of one commercial application were copied by other vendors and by open-source implementations. Clever techniques were studied carefully and are now well understood. Smart people looking for a challenge would study every publicly available implementation of some algorithm and then come up with one that beat them all.

But why did the rate of software improvement seem to slow down? Don't we have more people working on software than ever before? Don't they have better building blocks than ever before?

Consider that everything that has ever been published as open source remains in the public commons forever. This body of work grows without bound. Both improvements and regressions continuously show up, but (eventually) the improvements are identified and the regressions are cast aside. So this pile of software theoretically improves without bound as well.

Yes, we have more people writing software than ever before, and yes, they have better building blocks than ever before. But they're not competing with other software developers and other companies -- they're competing with every piece of software ever written by anyone. So it shouldn't be surprising or controversial that the bar for marketable software is going to keep getting higher forever.

These licensing shenanigans and the steady march towards "Everything as a Service" is a result of companies pivoting from attempting to innovate to rent seeking.


If anything will ever kill established "Enterprise Open Source" or Open Core business models, it's because of cloud service consumers and cloud platform customers that prefer the seamless and often convenient integration of FOSS services and technologies their preferred cloud platform (be it Azure, AWS, GCP, or whatever other player that reaches a sufficient size to be able to) provides.

That happens to the direct financial detriment of the companies that actually created these free tools, while (perhaps naively) hoping to be able to sell services based on them to enterprise customers themselves. And it's going to be a real pity and for the FOSS community when it happens.

Software may be eating the world, but managed software platforms are eating (free) software.


Cloud services like Amazon's AWS, Google's GCP, and Microsoft Azure are the proprietary operating systems of the modern day.

Today, they're doing many of the bad-for-the-world things that Microsoft did with Windows in the 90s.


A rather alarmist preface frankly.

>redhat killed cantos

Primarily a profit driven motive. Open source doesn't always mean free as in beer.

>elastic killed elasticsearch

For companies like amazon who are fundamentally incompatibl with truly open source yes, this is a killing blow. For everyone else its just a change in ToS.

In 2021 what's changing is many companies and devs are getting rightly upset about multinationals ripping off their code without so much as an attribution. These companies are saying that not only is your code not worth money, it isn't even worth the exposure on your resume.


> But the Fedora community has publicly stated that "to consider the SSPL to be 'Free' or 'Open Source' causes a shadow to be cast across all other licenses in the FOSS ecosystem."

My takeaway from all this isn't that "enterprise open source" is no longer a viable business model. It's that if you want to start an enterprise open source company, start with SSPL.

It works great as an open source license. People and businesses can use, modify, and redistribute the product for free. The only thing they can't do is package the product and sell/host it as a service.

This is extremely reasonable. AWS shouldn't be able to take the technology that your team built, without asking/paying/contributing, and quickly turn it into a $100m+ business.

Sure "true" open source champions will balk at the license. But at the end of the day, the technology only flourishes because of the business built around it (eg. Elastic around Elasticsearch). SSPL goes a long way to protect your business, and therefore the underlying technology, from big tech.

What would Elasticsearch be without Elastic? What would MongoDB be without MongoDB Inc?


Where Elasticsearch would be without Apache Lucene? Too bad Lucene doesn't use SSPL because it's would be so nice to not let company like Elastic to make billions of dollars on it. /s

Don't want someone to profit from your code? Just use EULA and call it a day.


When I see articles like this I think back to Neo4j, when we adopted the product the enterprise features were open source, which turned out to be a long con bait and switch, enterprise features are now closed. We rewrote our app using another DB and are closely watching more recent entries into the GraphDB space such as Agensgraph ( a new apache project) built atop postgres.


These are two completely different issues and situations. The only thing they have in common is that theyre open source projects controlled by for-profit entities. The moment cooperation is no longer in their best interest they will stop.

In elastics case they were between a rock and a hard place. The world changed around that project and they got sherlocked. It happens. AWS has done it so many times its shocking they didnt anticipate it in the first place. Being venture backed sours the batch a lot faster.

The CentOS issue is unique. The maintainers gave control to the company that owned the licensed distribution of the software. Did they get a whole promise in return? Of course theyll cut support for it. Even in IBMs own portfolio its a conflict on a balance sheet alone. But its not the fault of enterprise open source. Open source works in this situation: there will be a fork just like centos was a fork of redhat.


> In elastics case they were between a rock and a hard place.

More like rock and a very soft place cushioned by wads of cash. Elastic so far has been doing very well fincially. And this isn't some new development from AWS side that Elastic needed to react upon, AWS have been offering ES for over 5 years.


I disagree with it, OSS ecosystem heavily rely on individual contributions at first. Both Elastic and CentOS cases are successful just because they are opensource, otherwise there would way little buzz around it, I strongly believe they would not have been successful if they were not licensed under Opensource license.


I think a windfall tax on FAANGs would get us 80% of the way there - with governments around the world appropriating a suitable levy and then pouring that levy back into "grassroots OSS". The how part is a bit troublesome - it should have a VC style flavour (effectively setting up hundreds of software foundations with old school grey beards helping the selection process) and providing summer of code style grants to just get things off the ground.

Governments (imo) should be almost exclusive users of OSS - and if the code they want is not put there, seed it.

I am not fond of governments do it all for us, But it is hard to imagine how else to extract money from corporations resting their profits on the commons.


Open source governance seems to be a key question here; in other words, how does a corporation communicate with their community of customers and users, and how are decisions about the software made as a result of those discussions?


I don't know about all that... ElasticSearch I don't have experience with, but CentOS is an example of a project I don't like in a bunch of ways - and I believe (on faith and anecdotal evidence mind you) that developers didn't like it nor choose to use it unless, for some reason, they needed the RHEL compatibility, which means that they need some tie-in to a corporate-commerical-only flavor of Linux.

So, I would argue, CentOS doesn't have an organic raison d'etre. If had one, it would be very difficult to "kill" it.


I think one conclusion is that venture capital backed open source companies are a oxymoron.

Open source will never be able to give the huge returns that VC firms expect.

However, open source can provide the basis for what is often derided as a “lifestyle business” that provides a sometimes very good income to a small group of people that are passionate about a project. SQLite comes to mind as an example.

Elastic is definitely bringing enough revenue for the “lifestyle” business without changing their license, however it is not enough for VC.

Be very wary of open source backed by VC.


Red Hat got VC money and went public working on open source software. Perhaps the exception that proves the rule of the difficulty, but not an oxymoron.


Red Hat IPOed over 20 years ago in the middle of one of the most spectacular bubbles we've seen. The world is very different now.

On top of that, yes I'd argue Red Hat is an outlier and exception whose success is as much result of good luck and timing than anything else.


MongoDb then?


Projects that change from Apache or GPL-like licenses to SSPL are still open source. This doesn’t mean you have to release your source code if you use these projects — only if you start selling a hosted platform that offers the software as a service. Every company I’ve seen do this was been backed into a corner by Amazon, who almost never contributes to these projects. This is nothing more than Amazon trying to kill these projects by causing fragmentation.

*Yes, I’ve read the OSI link AWS-fans always refer to.


Have you read SSPL? It's literally apply restriction to SaaS that impossible to comply with.

Also it's not some "everyone, but Amazon license". Terms they use are very fuzzy and can easily apply to more than just SaaS companies.

If Elastic wanted to stay open source they would use BSL: proprietary for N years and then code became GPL / APLv2.

Anti-SaaS clause of SSPL is here:

   > The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
   
   > The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.
https://www.mongodb.com/licensing/server-side-public-license


Stories about enterprise open source are so frustrating. They never mention Selenium & the ecosystem of companies making millions of dollars. Selenium basically doesn't exist at all whenever anyone asks "BuT wHeRe aRe tHe OpEn sOurCe sUcceSs StorRies?!"

Selenium and Appium are Apache 2 licensed. I started a SaaS service based on them. So has Amazon. The sky has not fallen. The licenses will not change. But apparently this story DOES NOT EXIST.


I'm not sure this model ever worked. "form a company whose principle thing is creating open source licensed software." That is not the model that was used to create open source in the "golden age" (although that model may not work anymore either).


> Third, if I want to earn a living or build a company around open source, what are my options?

Don't. The very idea that you should have to "earn a living" is now bogus and should be thrown out.

I believe computers, software and technology in general should be used to bring about a post-historical Golden Age of peace and prosperity.[1] Programs especially are a kind of wealth that can be copied for effectively zero cost.

So I would say that the urge to "earn a living or build a company around open source" is misguided. If you want to write software and give it away for free, that's awesome! My advice is either be comfortable being really poor, or be wealthy already. If you want to go from being poor to being wealthy by giving away copies of software, I don't know what to tell you, to me that seems like an oxymoron. It just seems like a weird idea.

Instead, let's use the technology we already have to construct a new economy that provides a good quality of life for everyone automatically.

[1] Otherwise, what's the goddamned point!?


The problem with saying that "earning a living" is bogus is that it doesn't jibe well with the real world. Being poor is not a good mindset since it is tied to insecurities and uncertainty around food, shelter, and healthcare. Relying on the benevolence of the rich is likewise a plea to the morals of people who historically have not felt the need to behave in a way that fits your specific morals.

The problem is how does one get to a point where the golden age arrives? FLOSS treats this as being incentivized by legal and social means, i.e. software licenses for use and education by orgs such as GNU. This doesn't always solve the issue (as recent events show) but it has been more effective to work within the system and push things forward than to take a stance and live on a hill for it.

Politically, you can see similar events be carried out. China has an explicit governmental goal of eventually entering full Communism. I'm not going to debate if that is a _real_ goal of theirs, but they believed that it could be achieved and people could be given opportunities to achieve that by first opening up to world markets at large. This was after the Great Leap Forward plans failed. Judging by the difference between the GLF and China today it went well for them to operate within the system as well.


The system worked, science and capitalism delivered technology and wealth.

Our problems now are organizational and psychological.

In terms of concrete suggestions for accelerating the economic shift to a post-scarcity world that really depends on one's current situation.

If you've got money, put it into regenerative agriculture and "green" tech.

If you don't have money, you're gonna have to hustle, but there are opportunities everywhere and lots of help available.


meh. There is nothing new under the sun. There have been several identical losses in FOSS. The bigger they are the better when this happens because there is enough volume and momentum to force a new FOSS branch. If it is a "tiny" FOSS piece, there are not enough champions to fight.

> So AWS was directly competing with Elastic, but *not taking the same responsibility for the open source project or investing in it as heavily as Elastic was*.

Eh? AWS could have killed ELK in 5 minutes. They chose to branch, and contribute it back. Several of the fixes and improvements are from AWS. Did the author want an IBM/CentOS takeover? Or, deny AWS to use Elastic but pretend to be FOSS?


Before a couple years ago (when elastic started digging deeper into the paid addon realm), I don't think they could've forked and been able to keep enough compatibility / community around their fork to make it as useful and compatible with everything Elasticsearch did.

But today, I think they have a 50/50 shot of the Amazon-forked ES version becoming the de-facto standard, and Elastic's fading into obscurity.


> Eh? AWS could have killed ELK in 5 minutes.

I don't understand this part. AWS doesn't have anything internally that would compete against ELK. Unless you are taking about AWS buying ELK flat out. But then Azure and GCP can fork ELK and keep selling the service. Is my assumption incorrect?


Yes: AWS has launched many "native" offerings to compete with the market's open source product, only to give in to demand and launch a managed version of the open source product (CloudSearch/ElasticSearch, ECS/Kubernetes, SQS/ActiveMQ, DynamoDB/MongoDB, etc)


I have said this before, and I'll keep saying it: A corporation controlling an open source project is antithetical to the purpose of Open Source, which is a project designed for the collaboration of a community of users. Licensing issues are just a tiny part of the problem. Open Source is a license type and philosophy, but that license type exists solely so that users can get fixes for their bugs/problems incorporated into upstream.

Corporate Open Source doesn't give a shit about a user's problems. The corporation only exists to further its own interests, and it uses Open Source as a tool to do so. Its sole motivation is profit, and so it is unwilling to accept the changes that users want to make if they're not directly benefiting the corporation.

Community-driven Open Source is about the users. Sometimes the project leads are a little too dictatorial and micromanage the project, preventing user fixes for stupid reasons. But most of the time, if you have a useful thing to contribute or change, they will accept it, even if it doesn't benefit them personally.

I think the current trend with Corporate Open Source was natural given the selfish nature of corporations. It's only going to get worse from here. In 10 years, most Corporate "Open Source" projects will go one of two ways. In one, they're donated to Corporate-aligned "Foundations" and all the development is done by the corporation, but "management" is done by some generic board [of people in corporations]. In the other, it's just a thin API layer over a proprietary system, like kernel drivers.

I think the only real Open Source left will be the old school variety. The projects led by a random chick in her garage who just needs a tool that solves her problems. Nobody's going to pay her for it, and she's fine with that, because she just needs this damn code. And that will be how Open Source survives: the hobbyist who donates their work to the world, just because it's a good thing to do.

The only salvation I can see in all of this is a new form of Open Source that enables corporations to safely donate their work. Note that I said donate. They can't have any expectations of holding onto IP or copyright. But perhaps they can find some way to use it as a tax write-off? So the project is run by a chick in her garage, but she takes patches from corporations, or maybe even a small yearly "donation" just to keep managing the project. In this way you could actually have a thriving community, even if that community is made up of corporations.


When did open source become a business model? A lot of newer developers confusing open source saying companies should not be using code for free etc. If that is the case dont open source it or use a dual licensing mechanism.


meh, elastic should have gone with the affero gpl since the beginning imho. something like a dual license: you want the free stuff? here's the affero gpl license. you don't want the affero gpl license? contact sales and a custom license for the current version will be arranged.

RIP elasticsearch, I guess.


> Maybe blindly adopting permissive open source licenses to invite more corporate ownership isn't the right answer.

What's the question exactly? Sustainable FOSS development?

Earning nothing while working on a FOSS project that has no way to ever make a developer salary because it can't be used by the people with the money, due to the copyleft license does not seem to be the "right answer" either.


It seems like in some sense, there's no right answer.

The hard thing here is truly free / open source software relies on generosity. And the more generosity, the more sustainable it is (on behalf of the developer(s), the corporations using it, etc.).

Generosity is not a winning strategy in corporate board rooms, though.


> The hard thing here is truly free / open source software relies on generosity.

(I make a living working on an open source project.) I don't agree. The view of the value of software is just different. The software itself is valueless. This is true of all software: bits are free to copy. What is valuable is the work put into making it. In other words, you get paid for making something, not for having made something. If a company wants some feature implemented in some piece of OSS, they can go find a dev to pay to do it, and contribute it back to the world. There's no generosity there, it's just an accurate reflection of where value is actually generated in the software world, instead of the broken view that proprietary software tries to force.

Where it starts to get tricky is kind of a tragedy of the commons situation: if you wait long enough, then maybe someone else will pay to implement the feature, but if everyone does this, then the feature will never exist.


Agree. In the end commercial and open source software aren't that different: the more dollars you put into it, the more say you have on the roadmap.


Sometimes generosity isn't needed. If a project (including the language it's written in) is simple* enough, casual users can add features they want for themselves.

But for complex projects those barriers will probably always be quite high.

* "Simple" is a slippery concept. I find hacking Haskell easier than hacking Python, because the type signatures and other features make it much easier to see what's going on with a minimum of investigative work. But difficulty is a big part of Haskell's reputation, and ease a big part of Python's.


I'd argue short term there is no good answer. Long term I think the story changes quickly. I still can't shake the idea that we as a human race are going to have to adopt a universal basic income of some sort. As we automate more and more things we're eventually going to get to the point that there are not enough jobs for humans to do unless we intentionally stop automating some industries.

Assuming we can find a way to get to a UBI, programming becomes just another art. If you already have your basic needs met (housing/food/education/transportation) and have the choice to either pursue an art, or pursue a career making more money, people will have options. I have no doubt there are a lot of people that will value the freedom to decide what they want to do every day of their life over making more money in the rat race, and some of them will spend that time programming/donating their time to FOSS projects.

Between now and then, your guess is as good as mine.


I’m not sure permitting enterprises to pick and choose which developers on an open source project get paid (as by hiring them or funding a salaried foundation staff) is a good answer to this problem.

In fact I’m pretty sure it has contributed to the rise of the celebrity/“influencer” dev who uses open source as a vehicle for self promotion rather than a means to improve software.


I don't see anything bad with the "celebrity" devs using open-source for their own "selfish" purposes. For the most part they do improve software, and help coding get more popular. Their work can help those devs go independent in some shape or form (or the least, it helps them get their next job more easily or put them in a stronger negotiating position).

The fact that they do a far bit of self-promotion should not be hold against them, in the end we are all working to achieve something in life, and for some, a necessary ingredient is some self-promotion through open-source.


I’m gonna say something controversial: the vast, vast majority of open source software is garbage. Partly that is due to the rise of developers just writing slop to promote themselves with. The existence of “Celebrity” devs isn’t necessarily a problem, but the culture that has evolved over the last few years seems more focused on the celebrity part than the dev part.


Doesn't Jeff work for Red Hat?


cracks? we are nothing in a boom time for enterprise open source... more companies are contributing than in the past and hiring engineers to work on open source, we have open source alternatives to every project you mentioned


Given this new trend, how long will Ubuntu (Server) last...


From my perspective, which admittedly is subjective and might be missing glaring examples to the opposite, open source has increasingly become a free marketing gimmick for startups looking to be bought out. I feel like this would explain why so many open source projects these day seem surprised when confronted with the expectations of being an open source project.

All things being equal, a piece of software will become more popular if it's open source. If it's open source and worse than the proprietary alternative, it will still pick up steam, while a proprietary competitor would be largely ignored. In fact, I would claim that a proprietary competitor will even be ignored if it's just as good, and even if it's a bit better: because there is a cost of adoption of new technologies, being a bit better isn't enough.

An example of something that wasn't open source but succeeded anyway is Splunk. As far as I know, they have never leveraged open source, but their selling point was so unique that they didn't need to. However, most ideas aren't that game changing. Most projects don't have the luxury of an idea that has an elevator pitch so attractive it will attract both investors and customers right away.

By 2007, Splunk had raised US$ 40M. The initial release of Elasticsearch was in 2010. How would ES have been received if they went to market with a proprietary product? I think the reason why it was open sourced from the start is quite obvious: noone would have cared otherwise, or they would have been overshadowed by an open source alternative. There was a demand for new, flashy, modern log monitoring among those that didn't want to buy Splunk, so it didn't have to be as good.

What seems to happen more frequently though is that cloud services pick up these open source alternatives, make money off them, and/or buy up the company holding the IP. They move in and "embrace, extend and extinguish", killing two birds with one stone: on the one hand they damage the primary free alternative, while at the same time improving it while owning the full rights to the improvements.

I don't have an answer to what to "do" about this but it seems like an increasing trend ever since the cloud industry started swallowing up most of what IT is about. In a way I suppose it's unavoidable, and maybe we need to see the beauty in the inherent resilience of open source: even when it's bought off and killed, they can never kill the previously freely licensed code. The "idea" if you will can live on, and must live on if we're going to avoid a complete dystopia in the long run. So turn the frustration of your favorite project being killed off into action: realize that no code comes for free, behind every open source success is usually an unsung and unpaid hero, and if you can't pick up the torch yourself, at least throw a few bucks to those who do. What else is there?


As someone who watched the "birth" of the "Open Source Movement" I can say with some certitude that we have proven, once again, that the theories of communism don't work in software just like they don't work in state governance.

The same mechanism, which is that the benefits of the work accrue more forcefully to the user than to the worker, are the same.

I first saw this in action[1] when Ward Christensen found out that a company was selling "Xmodem" (software that let you easily transfer files over a modem while in a terminal session over that same modem) to the government for big $$. To understand the value here, prior to this invention you needed two connections to a computer to both have a human interaction with it and a second connection between the source of your files and the computer in order to transfer data to it. In UNIX and elsewhere you could type 'cat -> foo' but that forced all of your data through the terminal driver and if it happened to contain 0x04 (^D on UNIX) you would log out! So Ward's big idea was a "modal" connection where you could put the computer in "data transfer mode" and either send or get a file. It was really useful in dial up BBS days and even in the early days of computers things like "LapLink" did similar sorts of things. The key here was this capability had value and while Ward had invested time writing the software he felt the approval of his peers was sufficient payment for his work.

The deal here was that Ward had made his code "public domain", he literally disclaimed all rights to it, because he, like other enthusiasts, held the viewpoint that "We are all a big club and we share stuff all the time." But a vendor saw that the Government had a need for this capability, and like many such organizations was used to paying people to provide and support the capability. So the vendor took Ward's software, and sold a product to the US Government that provided this capability. Since Ward had disclaimed his rights, the vendor had no further obligation to Wayne and delightfully pocketed all the money that the Government paid them.

When this was discovered there was some outrage. After all it was Ward's work and he should have been compensated right? This turns out to be a really interesting question for surfacing how various people feel about both the "value" of digital goods (which can be copied for nearly zero marginal cost) and the "value" of implementation.

Stallman's response was that once Ward had created the software his "right" to any value was exhausted. The original GPL manifesto was about making it explicit that no one else had a right to any value from the work either. Even if people were willing to pay $1 each for a software work product, a person who provided them with that work product was forbidden from capturing that value. They were entitled to "reasonable copying costs, and any monies that might make supporting the software." Period.

When you constrain a market in that way, it inhibits the market mechanisms that incentivize the creation of new goods, and the ability to fund the creation of new goods with the sale of successful goods. It depends on finding an supply of workers who will work once and give away all downstream value for nothing. This is great for customers but it really impoverishes the people who are actually writing code. The communism corollary is that you provide the needs for all of the workers, food, shelter, etc. And transfer all the downstream value of their work to the state. Where, historically, bad actors at the nation state have plundered that value and lived like decadent kings. A good current analogy is Google. Google couldn't exist the way it exists if it had to pay for the value it extracts out of the work the Linux community puts into that ecosystem. Fortunately for Google, thanks to the FOSS rules, it doesn't have to! As long as it isn't selling Linux it gets all that value for free, and it pockets all the profits from the services it offers which are derived in part by the value of having a "free" operating system.

I believe that because you cannot connect the economic value of the work someone has done, to the worker(s) who did it, you create an opportunity to take that value for yourself. For me, that will be the bitter legacy of "free" software. If, for some reason, we were able to reverse the ability to take this value without compensation it would make being a software engineer a much better job. Seriously.

As a result "Enterprise Free Software company" is unlikely to ever be a 'thing.' While it can make money in the short term as you translate a moment in time to a change in value. Long term it is doomed. This becomes especially evident when the additional new work needed to be done on software goes to zero.

[1] And FWIW so did Stallman.


> One way is to become more restrictive in licensing, choosing only copyleft licenses that were originally created to offer more protections to individuals than corporations.

I would disagree with how you made that characterization. Licenses apply equally to everyone, and corporations are made of individuals.

If you meant end users vs. service providers, that's what Elastic did and to end users their new license looks more permissive than GPL 3.0. Yes it does have "a major restriction", but it doesn't force individual users and even those who redistribute Elastic software to release their modifications, whereas GPL 3.0 would have that effect.

To me - a user - the new Elasticsearch license is more permissive (because before some Elasticsearch add-ons were restricted) and I can live with that. Amazon - thanks to a more permissive license that Elasticsearch used to release under - can still do their thing. Good luck to them. If that license wasn't permissive they wouldn't be able to do this. And the Fedora community and other busybodies ... I don't care what they say :-)


Dual-licensing with a "free" tier for non-commercial use and a paid tier for corporate users could solve this. In fact in the future, I believe many companies will do this with software and not just SAAS behind a cloud where this model is dominating today.


The only reason corporate embraced open source is that it saw it as a way to drive the small and medium sized businesses out of the market.

Why pay for an editor when the good guy Microsoft gives it to you for free?

People have been delusional about FOSS for way too long.


This isn't what happened at all. No one went "Mwah-ha-ha-ha let's put it to the small businesses." What happened is free and pretty good beat more expensive. Microsoft has lost a huge amount of server license revenue to open source.

The open source I've written - be it a program or a patch was always open sourced because I wanted to make my program available to others because I thought it might be useful.


@EdwinLarkin: "The only reason corporate embraced open source is that it saw it as a way to drive the small and medium sized businesses out of the market. Why pay for an editor when the good guy Microsoft gives it to you for free? People have been delusional about FOSS for way too long."

Is that you billg ;]

https://www.debian.org/ https://getfedora.org/ https://antixlinux.com/ .. systemD free :]




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

Search: