From 63acc390e6417a716ebd789c07530414db7d0981 Mon Sep 17 00:00:00 2001 From: Simeon Simeonov Date: Mon, 26 Feb 2024 14:06:51 +0100 Subject: Add git course (reveal.js) and SQLAlchemy 2 (notebooks) --- reveal.js/free_software.html | 219 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 219 insertions(+) create mode 100644 reveal.js/free_software.html (limited to 'reveal.js/free_software.html') diff --git a/reveal.js/free_software.html b/reveal.js/free_software.html new file mode 100644 index 0000000..71bea85 --- /dev/null +++ b/reveal.js/free_software.html @@ -0,0 +1,219 @@ + + +
+ +Simeon Simeonov - TDE
+In the late 1970s while working as a programmer at MIT AI Laboratory, Richard Matthew Stallman (b. 1953), also known by his initials rms, became frustrated when most manufacturers stopped distributing source code and began using copyright and restrictive software licenses to limit or prohibit copying and redistribution. This was a consequence triggered by the US Copyright Act of 1976.
In September 1983 Stallman announced the plan for the GNU operating system - a free operating system "compatible with Unix so that it would be portable, and so that Unix users could easily switch to it". The name GNU is a recursive acronym for "GNU's Not Unix".
In February 1984, Stallman quit his job at MIT to work full-time on the GNU project. Since then, he had remained affiliated with MIT as an unpaid "visiting scientist" in the Computer Science and Artificial Intelligence Laboratory.
In 1985, Stallman published the GNU Manifesto, which outlined his motivation for creating a free operating system called GNU. Soon after, he started a nonprofit corporation called the Free Software Foundation (FSF) to employ free software programmers and provide a legal infrastructure for the free software movement. Stallman was the nonsalaried president of the FSF, which is a 501(c)(3) nonprofit organization founded in Massachusetts. Stallman popularized the concept of copyleft, a legal mechanism to protect the modification and redistribution rights for free software.
A program is free software if the program's users have the four essential freedoms:
+Freedom 0 - The freedom to run the program as you wish, for any purpose
Freedom 1 - The freedom to study how the program works, and change it so it does your computing as you wish. Access to the source code is a precondition for this
Freedom 2 - The freedom to redistribute copies so you can help others
Freedom 3 - The freedom to distribute copies of your modified versions to others. By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this
"A program is free software if it gives users adequately all of these freedoms. Otherwise, it is nonfree. While we can distinguish various nonfree distribution schemes in terms of how far they fall short of being free, we consider them all equally unethical." - GNU (Philosophy)
+The term "libre" has been used lately
+By June 1987, the project had accumulated and developed free software for an assembler, an almost finished portable optimizing C compiler - GCC, an editor - GNU Emacs, and various Unix utilities (such as ls, grep, awk, make and ld). They had an initial kernel that needed more updates.
By 1992, the GNU project had completed all of the major operating system utilities, but had not completed their proposed operating system kernel - GNU Hurd. With the release of the Linux kernel, started independently by Linus Torvalds in 1991, and released under the GPLv2 with version 0.12 in 1992, for the first time it was possible to run an operating system composed completely of free software. Though the Linux kernel is not part of the GNU project, it was developed using GCC and other GNU programming tools and was released as free software under the GNU General Public License. Most compilation of the Linux kernel is still done with GNU toolchains.
The GNU packages consist of numerous operating system tools and utilities (shell, coreutils, compilers, libraries, etc.) including a library implementation of all of the functions specified in POSIX System Application Program Interface (POSIX.1). The GCC compiler can generate machine-code for a large variety of computer-architectures.
Linux kernel – this implements program scheduling, multitasking, device drivers, memory management, etc. and allows the system to run on a large variety of computer-architectures.
The packaging of GNU tools, together with the Linux kernel and other programs, is usually called a Linux distribution (distro). The GNU Project calls the combination of GNU and the Linux kernel "GNU/Linux", and asks others to do the same, resulting in the GNU/Linux naming controversy.
Visit https://www.gnu.org/software/ for a complete list of the GNU packages
+In February 1998 Bruce Perens and Eric S. Raymond (esr) founded the Open Source Initiative
Stallman argues that software users should have the freedom to share with their neighbors and be able to study and make changes to the software that they use. He maintains that attempts by proprietary software vendors to prohibit these acts are antisocial and unethical. He argues that freedom is vital for the sake of users and society as a moral value, and not merely for pragmatic reasons such as possibly developing technically superior software.
Eric S. Raymond argues that moral arguments, rather than pragmatic ones, alienate potential allies and hurt the end goal of removing code secrecy.
Most "open source" software is a free software, but there are exceptions (f.i. qmail, nmap, True crypt... )
+The term FOSS - (Free and open-source software) is widely used to describe specific software.
+The earliest distributions of Unix from Bell Labs in the 1970s included the source code to the operating system, allowing researchers at universities to modify and extend Unix
In 1974 the operating system arrived at University of California Berkeley, at the request of computer science professor Bob Fabry
The Berkeley Software Distribution - BSD just included some extra features, which were intertwined with code owned by AT&T
Extensive academic research during the 80s. 4.3BSD was released in June 1986
4.3BSD + TCP/IP stack was freely redistributable under the terms of the BSD license. It was released in June 1989
1993 - FreeBSD and NetBSD are first released
1995 - The last 4.4BSD is released. OpenBSD is released
The permissive nature of the BSD license has allowed many other operating systems, both open-source and proprietary, to incorporate BSD source code. Microsoft Windows used BSD code in its implementation of TCP/IP and bundles recompiled versions of BSD's command-line networking tools since Windows 2000. Darwin, the basis for Apple's macOS and iOS, is based on 4.4BSD-Lite2 and FreeBSD. Plastation (3,4,5), Nintendo Switch...
+The Free Software Foundations is behind several versions of the GNU General Public License (GNU GPL or simply GPL)
+Copyleft - any derivative work must be distributed under the same or equivalent license terms
+GPLv1 - Released in 1989 and no longer used
GPLv2 - Released in 1991 and still in use (f.i. the Linux kernel) - "strong copyleft" not even allowing integration of GPL licensed software components into non GPL software
GPLv3 - Released in 2007 - changes in regard to software patents, DRM and alike.
LGPL(2 and 3) - "weak copyleft" - making it possible to use and integrate a software component released under the LGPL into (even proprietary) software without being required by the terms of a strong copyleft license to release the source code of their own components
GPLv2+ or GPLv3+ stands for "2 (or 3) or any later version" and is the default form of the license
+3-clause BSD license ("BSD License 2.0", "Revised BSD License", "New BSD License", or "Modified BSD License") and 2-clause BSD license ("Simplified BSD License" or "FreeBSD License") are the most popular BSD licenses. No copyleft.
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution
Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission (3rd clause)
A permissive free software license written by the Apache Software Foundation (ASF). No copyleft.
+Requiring a patent license on contributions that necessarily infringe a contributor's own patents. This license requires preservation of the copyright notice and disclaimer.
+A permissive free software license written by MIT. No copyleft. Does not mention patents.
+"The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software."
+If you use free software and modify it, you have to release your modifications (licensed under the GPL)
You will never get proper / commercial support if you use free software
Free software is free of charge
Free software is not / anti commercial
Better personal control - avoiding vendor lock-in
Privacy and security - nothing happens behind your back, the security of a software is verified by the community and not by the company that made it
Quality over profit
Using free software with commercial support
Developing and sharing free software
Modifying and sharing free software
Supporting free software projects - software that is already in use at Statnett
Influencing free software projects by purchasing / ordering new features
Consciousness raising
Developing and sharing free software
Donating (FSF, FSFE, or any other free software peoject) instead of "When are they going to implement / fix this?"