class: center, middle # Open Source Software Development
## History .author[ Instructor: Joanna Klukowska
] .license[ Unless noted otherwise all content is released under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). ] --- # 1950's - IBM starts selling hardware to the "public" - no textbooks, no courses, no instructions available for the software that comes with the hardware - the __users just have to figure it out__ - first computer user group forms, called [__SHARE__](https://en.wikipedia.org/wiki/SHARE_%28computing%29) - August 1955, Los Angeles - meeting of seventeen organizations that use 701s (IBM machine of that time) - IBM encouraged users to discuss and solve problems AND to share the solutions to those problems - __SHARE__ still exists today (although their purpose has changed and they are independent of IBM) -- - the companies's earning model: buyers paid for hardware, the software did not matter much, why? - software was not-standardized → only worked on specific hardware - sharing fixes and improvements to the software, made the hardware better - there was no Internet - widespread sharing limited by the lack of technology - sharing often done through the original manufacturer of the hardware --- # late 1950's, 1960's, 1970's - late 1960's work on a global network begins, - 1969 the first link between two universities was established -- - MIT Artificial Intelligence Laboratory starts in 1959 - Richard Stallman joins Artificial Intelligence Lab in 1971 (as a freshman at Harvard) - culture of sharing, helping each other and building on each others work - centered around academic institutions, but happily sharing with industry -- ---- - development of high level programming languages (Fortran starts in 1954) - hardware standardization (over time) - the economic model of selling hardware started to change: - users can use software on hardware provided by other manufacturers - manufacturers made very similar hardware, the differences were in software that came with it - software became sellable --- # 1970's into 1980's - many academic researchers hired by industry - software they work on was protected by an exclusive license - new hardware distributed without the source code for the software _In 1980, Stallman and some other hackers at the AI Lab were refused access to the source code for the software of a newly installed laser printer, the Xerox 9700. Stallman had modified the software for the Lab's previous laser printer (the XGP, Xerographic Printer), so it electronically messaged a user when the person's job was printed, and would message all logged-in users waiting for print jobs if the printer was jammed. Not being able to add these features to the new printer was a major inconvenience, as the printer was on a different floor from most of the users. This experience convinced Stallman of people's need to be able to freely modify the software they use._ [From Wikipedia, https://en.wikipedia.org/wiki/Richard_Stallman, retrieved Jan. 19, 2018 ] --- # 1980's - GNU is born - Richard Stallman started the GNU project in 1983 (what does GNU stand for?) -- - __GNU__ stands for "GNU is not Unix" (yes, it is a recursive acronym) -- - _The goal of GNU was to develop a completely free and open computer operating system and body of application software, in which users would never be prevented from hacking or from sharing their modifications._ [From _Producing Open Source Software_ by Karl Fogel] -- - 1985 Free Software Foundation is started by Richard Stallman to support the free software projects; - GNU General Public Lincense (GPL) was defined by the FSF - GPL says that the code may be copied and modified without restriction, and that both copies and derivative works (i.e., modified versions) must be distributed under the same license as the original, with no additional restrictions - the original (ver 1) [GPL license](https://www.gnu.org/licenses/old-licenses/gpl-1.0.html) --- # 1990's - 1991 [Linux kernel](https://en.wikipedia.org/wiki/Linux_kernel) is released by [Linus Torvalds](http://en.wikipedia.org/wiki/Linus_Torvalds) - _for fun_ project to create an operating system that was an alternative to minix (different design model) - completely open source from its inception - Torvalds asked for feedback and ideas from the community while he was working on it: the original post is quoted in many places: - https://groups.google.com/forum/#!original/comp.os.minix/dlNtH7RRrGA/SwRavCzVE7gJ - https://opensource.com/article/18/8/linux-history --- # 1990's - 1993 RedHat is founded - first company that made open source big business - they proved that it is possible to make money on something that is in principle free - 1994 work begin on MySQL - - the largest database solution of choice - another example of a company making money on an open source product - 1996 Apache takes over the Web - an example of an open source product that almost completely dominated the market - has been consistently the most widely used web server software - 1997, [Eric Raymond](http://en.wikipedia.org/wiki/Eric_S._Raymond) published [The Cathedral and the Bazaar](http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/index.html), a reflective analysis of the hacker community and free-software principles. - 1998, Netscape Communicator source code is released on the Internet via Mozilla.org --- # 2000's - 2002, Mozilla Firefox launches in September - 2005, `git` project launches - open source version of a commercially available distributed version control system - 2008, GitHub starts (based on git, it provides the distributed version control services) - ... --- # Hacker - Wikipedia definition:
A __computer hacker__ is any skilled computer expert that uses their technical knowledge to overcome a problem. While "hacker" can refer to any skilled computer programmer, the term has become associated in popular culture with a "security hacker", someone who, with their technical knowledge, uses bugs or exploits to break into computer systems. Retrieved 3/31/2019 -- - _The AI Lab had a strong __"hacker ethic"__, and people were not only encouraged but expected to share whatever improvements they made to the system. As Stallman wrote later: _ > _We did not call our software "free software", because that term did not yet exist; but that is what it was. Whenever people from another university or a company wanted to port and use a program, we gladly let them. If you saw someone using an unfamiliar and interesting program, you could always ask to see the source code, so that you could read it, change it, or cannibalize parts of it to make a new program._ [From _Producing Open Source Software_ by Karl Fogel] - Eric Raymond: ["I am your worst nightmare](https://youtu.be/QG2MnhrrY7s) --- ## Sources and Acknowledgements - [Producing Open Source Software](http://producingoss.com/) by Karl Fogel - [History of programming languages](https://en.wikipedia.org/wiki/History_of_programming_languages) - [Timeline of Open Source Software](https://en.wikipedia.org/wiki/Timeline_of_open-source_software) - [History of OSI](https://opensource.org/history), OSI = Open Source Initiative - [History of Free and Open Source Software](https://learn.canvas.net/courses/4/pages/history-of-free-and-open-source-software) - [GPL ver 1 license](https://www.gnu.org/licenses/old-licenses/gpl-1.0.html) ---