Cracks are showing in Enterprise Open Source's foundations
jeffgeerling.com
jeffgeerling.com
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.
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-...
Examples:
• Apple
• Amazon
• Microsoft
• Netflix
• Red Hat
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.
Only Red Hat on this list comes even close to open sourcing a significant percentage of its stuff.
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.
[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.
Oldie but goodie: https://www.joelonsoftware.com/2002/06/12/strategy-letter-v/
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.
Anyone working on Mesos these days?
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.
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.
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?
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."
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.
* AlmaLinux: https://almalinux.org/
* Rocky Linux: https://rockylinux.org/
This looks like business as usual in open source.
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?
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 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.
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.
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.
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.
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.
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...
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.
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.
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.
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.
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.
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.
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.
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?
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.
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.
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.
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.
> 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.
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.
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.
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.
Since you bring that up, could you give some good link for reading about it?
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...
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).
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.
The GPL licenses address this problem. It's just a shame that the trend nowadays is towards BSD-like licenses.
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?"
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.
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.
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.
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.
Today, they're doing many of the bad-for-the-world things that Microsoft did with Windows in the 90s.
>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.
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?
Don't want someone to profit from your code? Just use EULA and call it a day.
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.
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.
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.
So, I would argue, CentOS doesn't have an organic raison d'etre. If had one, it would be very difficult to "kill" it.
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.
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.
*Yes, I’ve read the OSI link AWS-fans always refer to.
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-licenseSelenium 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.
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 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.
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.
> 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?
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?
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.
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.
RIP elasticsearch, I guess.
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.
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.
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 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.
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.
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.
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.
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?
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.
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 :-)
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 :]
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.