4.5 KiB
Open Source
"Micro$oft <3 open source"
Open source (OS) is a capitalist movement forked from the free software movement; it is advocating "openness", sharing and collaboration in software and hardware development and though legally it is mostly identical to free (as in freedom) software, in practice and in spirit it is very different by abandoning the goal of freedom and ethics in favor of business (to which ethics is an obstacle), due to which we see open source as inherently evil and recommend following the free software way instead. Richard Stallman, the founder of free software, distances himself from the open source movement. Fascist organizations such as Microsoft and Google, on the other hand, embrace open source (while restraining from using the term free software) and slowly shape it towards their goals. The term FOSS is sometimes used to refer to both free software and open source without expressing any preference.
Open source is unfortunately (but unsurprisingly) becoming more prevalent than free software, as it better serves capitalism and abuse of people, and its followers are more and more hostile towards the free software movement. This is very dangerous, ethics and focus on actual user freedom is replaced by shallow legal definitions that can be bypassed, e.g. by capitalist software and bloat monopoly. In a way open source is capitalism reshaping free software so as to weaken it and eventually make its principles of freedom ineffective. Open source tries to shift the goal posts: more and more it offers only an illusion of some kind of ethics and/or freedom, it pushes towards mere partial openness ("open source" for proprietary platforms), towards high complexity, inclusion of unethical business-centered features (autoupdates, DRM, ...), high interdependency, difficulty of utilizing the rights granted by the license, exclusion of developers with "incorrect" political opinions or bad brand image etc. In practice open source has become something akin a mere brand which is stick to a piece of software to give users with little insight a feeling they're buying into something good -- this is called openwashing. This claim is greatly supported by the fact that corporations such as Microsoft and Google widely embrace open source ("Microsoft <3 open source", the infamous GitHub acquisition etc.).
One great difference of open source with respect to free software is that open source doesn't mind proprietary dependencies: Windows only programs or games in proprietary engines such as Unity are happily called open source -- this would be impossible in the context of free software because as Richard Stallman says software can only be free if it is free as a whole, it takes a single proprietary line of code to allow abuse of the user.
The open source definition is maintained by the Open Source Initiative (OSI) -- they define what exactly classifies as open source and which licenses are compatible with it. These licenses are mostly the same as those approved by the FSF (even though not 100%). The open source definition is a bit more complex than that of free software, in a nutshell it goes along the lines:
- The license has to allow free redistribution of the software without any fees.
- Source code must be freely available, without any obfuscation.
- Modification of the software must be allowed as well as redistribution of these modified versions under the same terms as the original.
- Direct modification may be forbidden only if patches are allowed.
- The license must not discriminate against people, everyone has to be given the same rights.
- The license must not discriminate against specific uses, i.e. use for any purpose must be allowed.
- The license applies automatically to everyone who receives the software with the license.
- The license must apply generally, it cannot be e.g. limited to the case when the software is part of some larger package.
- The license must not restrict other software, i.e. it cannot for example be forbidden to run the software alongside some other piece of software.
- The license must be technology neutral, i.e. it cannot for example limit the software to certain platform or API.