Free and open-source software

Open source refers to an idea that a software's code shall be open, and such licensing. It's very similar to, and essentially a more business-oriented and popularized version of Richard Stallman's idea of free software. A popular term for both is free and open-source software (FOSS) – the vast majority of software licenses that are officially free software or open source are both.

Software with freely modifiable and redistributable source code has existed ever since the invention of the computer, but it was Richard Stallman who founded the ideological free software movement, writing the GNU Manifesto, the GNU GPL (Gnu's Not Unix General Public License), and some other documents in the mid-eighties. Much of it is focused around one of the worst puns in the history of puns: the concept of "copyleft", which aims to give users several freedoms:


 * Freedom 0: The freedom to run the program for any purpose.
 * Freedom 1: The freedom to study how the program works, and change it to make it do what you wish.
 * Freedom 2: The freedom to redistribute copies so you can help your neighbor.
 * Freedom 3: The freedom to improve the program, and release your improvements (and modified versions in general) to the public, so that the whole community benefits.

To ensure the protection of these freedoms, Stallman wrote the (GPL), which remains one of the more popular software licenses today, even though many people don't really understand it.

The term "open source" was proposed as a revision to "free software" firstly in the book called  in the late 1990s. It was said to be done because the term free software was often misinterpreted as meaning "free as in free beer" rather than "free as in free speech". It was also said by the open source advocates that, the and Stallman in particular tended to be too ideological and unfriendly to the market for Tim O'Reilly's liking.

Similar concepts were later generalized into the idea of Free Culture and applied to areas such as music, graphics, books, wikis – including Wikipedia and RationalWiki – etc., Creative Commons eventually becoming a very popular set of licenses for Free Culture purposes.

A lot of software is open source. Almost everyone has at least one Linux device (router, Android phone, NAS, TiVo, "connected" car), and a majority of internet servers run open source software. A number of popular desktop applications are open source (e.g. Firefox, VLC) – though most people continue to rely on proprietary commercial software. There's also an in-between area; for example, while popular video game engines such as Unreal Engine or CryEngine have made their source code repositories freely available for both hobbyist developers and companies alike, they are by no means "open source" (to be more precise, ) and are still considered "non-free" by the Free Software Foundation, in relying on proprietary middleware such as the audio and graphics libraries Wwise and Nvidia Gameworks.

Open Source vs. Free Software
Most people use the term "open source" to describe software that meets the above four freedoms, although the actual creator of those principles (RMS) prefers to specifically use the term "free software", and has been known to walk out of interviews where people use the "wrong" term. In actual fact, save a few edge cases (the first versions of the Apple Public Source license were seen as open source but not free, as was, in a bit of irony, the original version of the GNU Free Documentation License), the two are largely indistinguishable, differing only in the perspective of the origin of the term, and in fact the case can be made that to the extent that the two terms have different definitions, they're interdependent, ie "open source" requires software freedom as defined above, and "free software" requires source code availability and the right to modify or fork. Most people, quite justifiably, consider the two terms functionally interchangeable.

Microsoft
The opinions of open source software by commercial corporations vary considerably. Some do not mind it, others actively support and contribute to it (such as IBM, Google, Red Hat, Novell, and Canonical), and others still declare support for open source on paper but demonstrate repeated inability or unwillingness to understand how the community works (most prominently Oracle and Apple). Microsoft, however, takes the cake.

Microsoft's attitude towards open source would be charitably described as ambivalent. In the 1990s and early 2000s, Microsoft attacked the GPL and Linux with slanderous claims, calling them "potentially viral", "un-American", "communist", and a "cancer". When it became clear that laughing-off tactics didn't work, Microsoft instead turned to patent trolling, demanding (and sometimes successfully gaining) royalties from its patents allegedly violated by the Linux kernel and its derivative Android — in effect profiting from an OS directly competing with their flagship product, whose code is not in any way theirs. With such gestures, it's hard to to treat Microsoft's claims of being friendly to open source seriously. The few open source products they do support (such as Mono, an independent implementation of the .NET programming platform) are mostly based on their standards and play by their rules.

Since 2014, with the rise of current Microsoft CEO Satya Nadella, Microsoft's position seems to have softened somewhat: the rise of cloud technologies, virtualisation and containerisation as well as the ongoing emergence of open web standards such as Web Assembly mean that the operating system is becoming less important to end users and developers alike. With great emphasis from Microsoft to remove the "Windows and Office first" philosophy of the Ballmer era, with significant investment being put into both making Windows compatible with open source software like Kubernetes, buying up github.com (which is where the vast majority of open source software resides, terrifyingly), and increasing their involvement in spearheading new open source projects.

Software patents and intellectual property
Unlike copyright, which applies to a particular work, a software patent applies to some possibly very general use of a piece of mathematical logic. There's so many software patents it's difficult to know which software is impacted by them. Legislation and practices surrounding software patents differ greatly around the world.

A frequent false accusation is that the FOSS world rarely creates anything new, and that much of what it copies is done incompletely or incompetently. Nevertheless, the open source world is filled with many alternatives to both proprietary commercial software and to open source software, these containing a wide range of both more and less original elements.

In countries that recognize software patents, this can create an incredibly complicated situation where certain software (particularly audio and video codecs – including MP3 in earlier years) are freely available but illegal to use without making specific arrangements with patent holders; needless to say, those arrangements are rarely made, which means a lot of open source users operate in a legal gray area. The Free Software Foundation has long focused on issues surrounding patents, campaigning against them, and also advocating the avoidance of patent-encumbered technology when possible, and further suggested care with software licensing to protect both developers and users from patent troll lawsuits.

Sometimes there are outright efforts to clone a proprietary commercial standard as closely as possible in open source software – with or without patent issues arising – sometimes in order to evade licensing restrictions in specific countries. A related but different issue is that of the circumvention of copy protection, where popular solutions have increasingly been open source. In both cases, such products often represent significant works of reverse-engineering:


 * Andrew Tridgell's Samba is an implementation of Server Message Block filesharing (mostly known these days as Windows filesharing, but the protocol goes back a bit further), and is a critical piece of infrastructure in many FOSS operating system distributions, including most Linux distros and Mac OS X up to 10.6 Snow Leopard. Tridgell wrote it with nought but a packet sniffer. (Tridgell was also indirectly responsible for Linus Torvalds' creation of the Git source code control system, after reverse-engineering the commercial BitKeeper system that the Linux kernel developers were using at the time, thereby infuriating BitKeeper creator Larry McVoy and causing McVoy to revoke the kernel developers' user licenses.)
 * Jon "DVD Jon" Johansen is the best known of three authors of the DeCSS library, created in the early 2000s to bypass DVD copy protection.
 * George "geohot" Hotz was among the pioneers of jailbreaking Apple's iOS platform, and got massively sued by Sony for doing the same thing to the Playstation 3 after Sony removed Linux support from the platform.

Effects on the market and accusations of antitrust violations
A small minority of open source opponents like Catherine Fitzpatrick and, as well as some corporate personalities like Steve Ballmer, have attacked the concept of open source software as communist and/or an illegitimate price fixing scheme to keep software developers from making money. However, the Free Software Foundation and the Open Source Initiative have generally taken the position that there's nothing stopping developers from charging for their software and code or for physical delivery or support for the software in question.

The deeper question is how this affects the market overall. There have been a few aborted efforts to tax or otherwise regulate open source software to preserve proprietary software's position in the market, but they've generally been laughed out of existence. That hasn't stopped some governmental entities from, presumably at the bidding of groups like the Business Software Association, trying to stigmatize countries switching their IT infrastructure to open source products as not respecting intellectual property rights. FOSS licensing has also been crucial in a number of efforts to break DRM chokeholds (the DeCSS DVD decryption algorithm and jailbreaks for platforms like iOS and the Playstation 3 are current examples) as well as to insure continuity of crucial infrastructure projects.

Perhaps ironically, the market generally ignores open source software till it can't. Oracle still prices their flagship database software as if MySQL (which they currently own) doesn't exist. Cisco sold off Linksys to Belkin in part because being able to run software like dd-wrt on home/SOHO network gear rendered Cisco's lower-end pro networking products more or less useless. Creative tools like Photoshop seem to take advantage of the somewhat more arcane interfaces of their open source equivalents in order to continue charging customers insanely traditionally high prices for their software; although this usually includes the promise of tech support (as well as providing a convenient blame sink for software snafus), it still prices people out of the market who would otherwise find such software to be an enabling technology. The lack of support for open source software in much mainstream computer press means that people don't realize they have options.

Unicorn's law
If you are a woman in open source, you will eventually give a talk on being a woman in open source. Women are so marginalized in programming that there's an internet law about it called Unicorn's law. So much for equality. And if you know the numbers, the law is necessary. Depending on which survey you look at, there could be as little as 1.5% of open source programmers being women, with 5%, being the highest result. Naturally there are attempts to even out the numbers.