This is still the header! Main site

Alternatives to Open Source

2024/05/11

There are a lot of benefits to Free (as in freedom) Software. Since you have control over what exactly the programs are doing, you have much better defenses against some evil corporations exploiting you in unexpected ways.

For example, it's pretty rare to find software that is free and yet its makers are trying to gather data on you in order to sell it for profit. Not because people who are writing free software are inherently good, but because if they did this, surely someone could patch the code to remove the data gathering parts! It's also enough for just one person to do this; everyone else can then use the version with the spyware removed afterwards.

As a reminder, free software gives you the following four freedoms (quoting from here):

Nevertheless, while free alternatives are great to have, this model is not without problems.

To begin with, we still haven't really figured out how to reliably make money out of writing free software. After all, the capability of extracting money from others comes from not the actual value provided, but the difference between this and the case when they do not pay you. By giving away all the power over the code to your users, you do not have anything left to differentiate yourself from anyone else who also has access to it. (At this point, your main advantage is familiarity with the code, which is also a nice incentive for making it as complicated as possible.)

In fact, there are companies who figured out how to make money out of free software that they themselves did not create. Just look at the long list of (large!) companies who use Linux and other open source tools to build on; they themselves then have no issues with keeping people in their walled gardens. As Casey Muratori argued in "Why Hasn't Open Source Won?": by relinquishing control, you do not ensure that it will go to the users instead. Other entities might be better at holding onto it.

Meanwhile there are also plenty of examples of using open source as a weapon for control. For example, there is commoditizing your complement: given a technology stack, you can maximize the amount of value you extract by making the parts that you do not have monopoly power over extremely cheap and easy to obtain. (For example, Microsoft was pretty happy about the proliferation of cheap PC clones that could all run their operating system.) Writing & publishing an open source variant is an excellent method of doing this.

Is it possible though to still regain some control over the software you produce, so that you get some funding writing it, but not too much, so that your users would still stay relatively well empowered?

On "Source Available"

Handing out the source code to your software with a lot of strings attached is a viable business model. For example, Unreal Engine source code is available to their customers; if they find a bug, they can just fix it right away. On the other hand, this is not actual open source: you still have to pay them if you release games using it.

In general, you do not get the same freedoms with these kinds of licenses. You still have limits on how you can run the software; you might not be allowed to redistribute copies, and worse yet, if you look at the code, now you know things that you're not allowed to reuse elsewhere. This, depending on the exact terms of the license, might be worse than just not looking at it at all.

So why are we treating it as a serious alternative?

Emulating an actual market

Markets work well on physical objects. If you sell apples, bikes, or pieces of furniture, it's relatively easy to get money for them. It's also not especially controversial what you can do to them once you bought them: they are, well, yours. (While you might hit some issues if you start a business selling exact clones of the latter two, this is not an especially common thing that customers do.)

Because being easy to copy makes the same model less suitable for software, we came up with the entire scheme of copyright and licensing to disallow some actions (copying) unless explicit permission is given by the author or publisher.

For books, for example, "do not start a commercial press operation making copies of them" sounded like a reasonable limitation at the time. A couple hundred years later though, the same scheme escalated into "you shall not fix your own tractor" and "you cannot play the game you bought once the company publishing it loses interest running servers for it". Not to speak of all these out there spying on you in ways you are not allowed to investigate.

We might be able to fix these issues while keeping the pretense of software being objects though!

The Three Freedoms

Specifically, imagine a license that, given some payment, grants you the right of running a piece of software on your computers. (Nothing especially new here yet.) This is basically freedom 0.

You can also have the source code & study it and modify the program as you wish. Freedom 1.

As for redistribution though... this is where we are making a trade-off between user freedom and the capability of the authors to extract money out of this. Namely, if you modify the code and give the results to someone, they should already have a copy, sold by the original company, to be able to use it.

If they do though, the original company has no more say in how it's being modified.

Imagine for example if Windows worked this way. Many people bought copies of Windows XP. There could be developers who sell upgrades to XP which fix security holes and add new features while keeping the UI the same. You could pay $5 to one of these developers to give you the upgraded code, pairing it with your already existing XP license. (Or buy one from eBay. Transferability is also a provision this license would contain. We are trying to emulate physical objects after all.)

In fact, we can make this viral, just like the GPL. Let's say you buy a copy of a game for $60. (You now have the source code and the right to redistribute your modifications to people who already have a copy of the game.) You give the entire bundle (your copy and the upgrades) to someone else for $65. With it, you also need to supply the entire source code, including your changes. Now, whoever bought it, now has the right to further modify it too.

Free as in freedom, not as in beer

The key here is efficient transferability while keeping almost all rights associated with holding a copy.

The only right the original publisher retains is minting new copies. Once you have a copy, they do not tell you how you can use, modify or resell it.

You are free to help other users by distributing your modifications. Or you could sell them! You are now the only one who can mint the patch for the changes. (Maybe you can sell this right to the original company! Otherwise, they will need to pay you for each copy of your patch if they want the upgrade in their product.)

This solves many issues commonly associated with proprietary software. For example, if you find that the original code tried spying on you, you can remove the "spying" part & give your fix to everyone who has a copy of the original. (You ordinarily cannot do this, since you don't have access to source code, and even if you did, your patch is a derivative work of the original which you are not allowed to give to anyone whatsoever.)

In fact, this feels like it's a lot closer to the original spirit of copyright: to give a minimum set of protections to make the system work vaguely like a free market, incentivizing production; free markets, as we found, tend to work reasonably well. (The part where corporations gain detailed control over your life in exchange for letting you use their software is a somewhat more recent addition.)

Meanwhile, compared to free software, you already have a business model. You do not have to make one up! In fact, now you are incentivized to make the code easier to modify, versus if your model is "consulting", you're better off doing the opposite.

Is this a better world than free software everywhere, combined with Star Trek style basic income / post-scarcity and enthusiastic people coming up with new ideas just for fun? No.

Is it a better compromise than ad-supported, locked down walled garden hellholes, given today's world? Maybe.