Information system paper
Linux and Open Source
Maureen P. Kinkela
1
Malware Protection Software
Week 7 – Identity Theft and Individual Cyber Security
https://askdrexel.drexel.edu/app/answers/detail/a_id/2820/~/how-do-i-install-sophos-anti-virus%3F
To download and install the Drexel provided anti-virus software
According to our help desk, uninstalling Sophos once installed can be extremely difficult, if not impossible, especially if you’re talking about all the other little files and changes left behind.
So while Drexel faculty and professional staff are required to install it on Drexel-managed computers, students might want to use something else.
Before we start, I just want to update you with some new information I learned about Sophos. This information came from the Help Desk, so is trustworthy.
2
A student who successfully completes this section will be able to:
Describe the history and evolution of Open Source
Describe the rise of the Linux operating system
Create a bootable Ubuntu Memory Stick and use it to explore this flavor of Linux.
Week 8 – Linux and Open Source
Learning Objectives
Above is the list of objectives for this topic. This week our job is to talk about Open Source software and look at a very successful example of this paradigm.
3
Richard Stallman
Father of GNU, Copyleft, and League for Programming Freedom.
Week 8 – Linux and Open Source
Free and Open Source Software (FOSS)
Let me introduce you to some of the players in the Open Source movement. Richard Stallman is a programmer, activist and in many ways the father of the Open Source Movement. His concern is the belief that users should be free to use, modify and distribute software. He is the father of the GNU operating system, an attempt at a Unix-like computer operating system composed entirely of free software.
Apparently, Stallman refers to this outfit as his “St. Ignatius Avatar”, possibly in reference to the fact that the man designated as St. Ignatius founded a religious order, and Stallman has founded various foundations and initiatives to make his point about software freedom. Finally, Stallman pioneered the concept of “Copyleft”, which is described by the Free Software Foundation as a general method for making a program (or other work) free, and requiring all modified and extended versions of the program to be free as well.
4
Guido van Rossum
Author and BDFL of the Python programming language
Week 8 – Linux and Open Source
Free and Open Source Software (FOSS)
Here is another player – Guido van Rossum, a Dutch programmer who created the Python programming language. The “BDFL” stands for “Benevolent Dictator for Life” in reference to the fact that van Rossum still continues to oversee the Python development process, and retains the final say when decisions are necessary regarding Python.
5
His Masters thesis was titled Linux: A Portable
Operating System.
Linus Torvalds
Week 8 – Linux and Open Source
Free and Open Source Software (FOSS)
Finally, let me introduce you to Linus Torvalds, a Finnish programmer whose work is the subject of the last half of our lecture this week: he created the Linux Operating System. More about that later!
6
1960’s: All software is free. First large-scale commercial computers come with software which can be freely shared among users, improved and modified.
Late 1960’s: IBM, followed by others, unbundles its software from its computer
and begins charging for it.
Middle 1970’s: AT&T Begins to license its Unix operating system. Users can obtain the C source code at low or no cost.
Late 1970’s – Early 1980’s: Current Open Source software movement:
Ex-MIT AI Programmer Richard Stallman launches GNU (Gnu’s not Unix!) Project and the Free Software Foundation. Purpose: to build a free
operating system, compatible with Unix. Creation of GNU Manifesto, which states
that availability of source code and freedom to redistribute and modify software are fundamental rights. Computer Science Research Group (CSRG) of the University of California at Berkeley create improvements to and applications for Unix. Funded by DARPA contracts, these efforts become ''BSD Unix‘’. (Berkeley Software Distribution.) Unix hackers around the world get involved. First distributed only to AT&T Unix licensees, but in the late 1980s, it is distributed under the ''BSD license'', one of the first Open Source licenses. Not totally Open Source, since every user of BSD Unix also needed an AT&T Unix license.
Week 8 – Linux and Open Source
Free and Open Source Software (FOSS) Timeline
Check out the next few slides – they contain a timeline of the Open Source movement. This movement came out of the rebellious 70’s and has attracted many thousands of followers who donate millions of hours to creating the software. While the idea of giving away your work product for free seems counter to common sense, this movement continues to grow and thrive, so practitioners are obviously finding a way to make it work!
7
1992: First widely-used web browser, NCSA Mosaic, developed at the National
Center for Supercomputing Applications (NCSA) at the University of Illinois Urbana-Champaign.
1994: Mosaic programming team creates first commercial web browser,
Netscape Navigator, which leads in user share.
1995: Development begins on Apache HTTP Server, world’s most widely used
web server software.
1996: Linus Torvalds graduates from University of Helsinki. Title of Master’s Thesis: Linux: A Portable Operating System
1998: Netscape Browser releases its source code.
1998: OSI (Open source Initiative) is formed as an educational, advocacy, and
stewardship organization for Open Source.
1998: The “Open Source” label is created at a strategy session in Palo
Alto, California.
Week 8 – Linux and Open Source
Free and Open Source Software (FOSS) Timeline
8
1998: Free Software Summit attended by many key individuals, including the
founding figures of sendmail, Perl, Python, Apache, and representatives from the IETF and Internet Software Consortium.
1999: Microsoft Internet Explorer takes the lead in market share.
: A free Open Source version of Netscape called Mozilla Firefox is released.
: Apple releases Safari for OS X.
2007: First version of Safari released for Microsoft Windows.
2008: Google releases Google Chrome for Microsoft Windows.
2009: First stable release of Google Chrome to support OS X and Linux.
2012: Red Hat becomes the first one-billion dollar Open Source company, reaching $1.13 billion in annual revenue.
Week 8 – Linux and Open Source
Free and Open Source Software (FOSS) Timeline
9
Week 8 – Linux and Open Source
Free and Open Source Software (FOSS)
http://www.fsf.org/
Here are some of the associations that have arisen from the movement. Check out the Free Software Foundation at https://www.fsf.org/. This is a non-profit organization founded in 1985 with a mission to advance software freedom. The Free Software Foundation also deals with education, licensing and support for software developers.
10
Week 8 – Linux and Open Source
Free and Open Source Software (FOSS)
https://www.gnu.org/gnu/gnu.en.html
This foundation provides critical infrastructure and funding for the GNU Project, the foundation of the popular GNU/Linux family of free operating systems.
Richard Stallman’s concept in starting this project was to create a Unix-like operating system that was based entirely on free software. The GNU Hurd kernal is micro-kernel, not monolithic, architecture, and in spite of the many years it has been under development, it has never been completed. However, the Linux Operating System incorporated into GNU has resulted in a product that hosts hundreds of applications.
11
Week 8 – Linux and Open Source
Free and Open Source Software (FOSS)
The GNU Project
Richard Stallman made plans for GNU in 1983. GNU was to be a complete, Unix-compatible operating system made up of free software. GNU is a recursive acronym standing for “GNU’s Not Unix!”
By 1991, the GNU project had finished many of the pieces of the GNU operating system, including the GNU C Compiler (gcc), bash command-line shell, many shell utilities, the Emacs text editor, and more. Other parts of the operating system could be provided by already-existing free software, such as the X Window System, which provided a graphical desktop.
However, the core part of the operating system – the GNU Hurd kernel – was not complete. The GNU Project chose an ambitious microkernel design for the kernel, resulting in long delays. (As of 2013, the GNU Hurd kernel has been in development for 23 years and no stable version has ever been released.)
This is how it happened!
12
Week 8 – Linux and Open Source
Free and Open Source Software (FOSS)
Linux Arrives
The kernel was seen as “the last missing piece” of the GNU operating system by the GNU project. In 1991, Linus Torvalds released the first version of the Linux kernel. There was now enough software for a completely free operating system, and distributors (like modern “Linux distributions”) assembled the Linux kernel, GNU software, and X Window System together.
Initially, there was some debate over what these distributions should be called. In 1992, the Yggdrasil project chose the name “Yggdrasil Linux/GNU/X” for its combination of software. GNU/Linux is the preferred term advanced by Richard Stallman and the Free Software Foundation. Debian still refers to its software as “GNU/Linux” today.
The GNU system is still under development by an all-volunteer programming group.
13
Week 8 – Linux and Open Source
Free and Open Source Software (FOSS)
https://directory.fsf.org/wiki/GNU
You really need to take a moment and check out this link: http://directory.fsf.org/wiki/GNU. Scroll through the hundreds of available software applications that have been written for GNU!
14
Richard Stallman’s Four Essential Freedoms
A program is free software if you the user have the 4 essential freedoms:
0) Freedom to run the program as you wish.
1) Freedom to study the source code and change it as you wish.
Freedom to help your neighbor (make and distribute exact copies of the
program).
Freedom to contribute to your community (make and distribute copies of your
modified versions when you wish)
Week 8 – Linux and Open Source
Free and Open Source Software (FOSS)
This is Richard Stallman’s definition of free software. Note that the four concepts are numbered 0-3. This is a nod to the fact that in programming, many counting algorithms, such as array processing, start at 0, not 1.
15
https://opensource.org
Week 8 – Linux and Open Source
Free and Open Source Software (FOSS)
Another global non-profit, the Open Source Initiative, will celebrate its 20th anniversary this year. This group’s stated initiative is about “raising awareness and adoption of open source software”. The initiative is based on the Debian Free Software Guidelines and was founded by a group inspired by the Netscape Communications Corporation’s publishing the source code for Netscape Communicator.
16
Week 8 – Linux and Open Source
Free and Open Source Software (FOSS)
The League for Programming Freedom was also founded by Richard Stallman, in 1989. The League produced a newsletter, Programming Freedom from 1991-1995, chronicling the work of the organization.
The event that had the most influence on the creation of the League was Apple’s lawsuits against Microsoft about supposed copyrights violations of the look and feel of the Macintosh in the development of Windows. After the lawsuit ended, the League went dormant, but was resurrected in In September 2009,
17
Week 8 – Linux and Open Source
Linux
A monolithic operating system kernel upon which a whole family of operating systems is based.
Conceived and created in 1991 by Linus Torvalds as a project to learn about his 386 personal computer.
Based somewhat on the Minix OS, a small, micro-kernel Unix-like system for IBM PCs and compatibles.
Deployed on:
Traditional computer systems such as personal computers and servers,
Embedded devices such as routers, wireless access points, Telephone Exchange Systems, set-top boxes, Satellite television receivers, smart TVs, Video Recorders, and NAS appliances (file servers).
Supercomputers
For the rest of this lecture, we want to discuss the Linux operating system. On the next two slides are some facts about this kernel:
18
Week 8 – Linux and Open Source
Linux
The Android operating system for tablet computers, smartphones, and smartwatches uses services provided by the Linux kernel to enable its functionality.
Linux rapidly attracted developers and users who adopted it as the kernel for other free software projects such as the GNU Operating System.[
The Linux kernel has received contributions from nearly 12,000 programmers from more than 1,200 companies, including some of the largest software and hardware vendors.
Day-to-day development discussions take place on the Linux kernel mailing list (LKML).
The Linux kernel is released under the GNU General Public License version 2 (GPLv2 with some firmware images released under various non-free licenses.)
19
Week 8 – Linux and Open Source
Linux - Monolithic
A monolithic kernel is essentially one single program that contains all of the code necessary to perform every kernel related task.
The Linux kernel started off monolithic, however, it gravitated towards a modular/hybrid design for several reasons. Here are some advantages of the monolithic kernel:
Since there is less software involved, it is faster.
As it is one single piece of software, it should be smaller both in source and compiled forms.
Less code generally means fewer bugs which can translate to fewer security problems.
These points are of course dependent upon how well the software is written in the first place!
Unlike Minix and Hurd, Linux is a monolithic architecture. The differences between these two architectures relates to how much of the program runs in protected space, and how much of it runs in user space.
20
Week 8 – Linux and Open Source
Linux - Monolithic
Most work in the monolithic kernel is done via system calls.
The disadvantages of the monolithic kernel are:
Modifying and testing monolithic systems takes longer than their microkernel counterparts.
When a bug surfaces within the core of the kernel the effects can cascade.
Also, patching monolithic systems can be more difficult.
21
Week 8 – Linux and Open Source
Linux - Microkernel
In the microkernel architecture, only the most fundamental of tasks are performed such as being able to access some (not necessarily all) of the hardware, manage memory and coordinate message passing between the processes.
The very essence of the microkernel architecture illustrates some of its advantages:
Maintenance is generally easier. Patches can be tested in a separate instance, then swapped in to take over a production instance.
Rapid development time: new software can be tested without having to reboot the kernel.
More persistence in general: if one instance develops errors, it is often possible to substitute it with an operational mirror.
Again, these advantages are dependent on the quality of the code.
There has been much debate about the pros and cons of these two system designs. The Microkernel architecture seems more modern and sophisticated to me. However, it is harder to write and may be the reason why Hurd never got completed. On the other hand, Linux is Monolithic, and it is hard to argue with the success of Linux.
22
Week 8 – Linux and Open Source
Linux - Microkernel
Most microkernels use a message passing system of some sort to handle requests from one server to another. The message passing system generally operates on a port basis with the microkernel. As an example, if a request for more memory is sent, a port is opened with the microkernel and the request sent through. Once within the microkernel, the steps are similar to system calls.
Disadvantages in the microkernel exist however. A few examples are:
Larger running memory footprint
As more software for interfacing is required, there is a potential for performance loss.
Messaging bugs can be harder to fix due to the longer trip they have to take. Process management in general can be very complicated.
Microkernels work well for small single purpose (and critical) systems, but become more problematic if many processes need to run, due to the complications of process management.
23
Week 8 – Linux and Open Source
Linux
Here is a picture depicting the differences we have discussed between the two main architectures.
24
Week 8 – Linux and Open Source
Linux – Modular/Hybrid Kernals
The modular kernel essentially can have parts of it that are built into the core kernel binary or binaries that load into memory on demand. It is important to note that a code tainted module has the potential to destabilize a running kernel. It is possible to write a driver for a microkernel in a completely separate memory space and test it before going live. When a kernel module is loaded, it accesses the monolithic portion's memory space by adding to it what it needs, therefore, opening the doorway to possible pollution.
A few advantages to the modular kernel are:
Faster development time for drivers that can operate from within modules. No reboot required for testing (provided the kernel is not destabilized).
On demand capability versus spending time recompiling a whole kernel for things like new drivers or subsystems.
Faster integration of third party technology.
Many traditionally monolithic kernels are now at least adding (if not actively exploiting) the module capability. The most well known of these kernels is the Linux kernel.
25
Week 8 – Linux and Open Source
Linux – Modular/Hybrid Kernals
Modules, generally, communicate with the kernel using a module interface of some sort. The interface is generalized (although particular to a given operating system) so it is not always possible to use modules. Often the device drivers may need more flexibility than the module interface affords.
Some of the disadvantages of the modular approach are:
With more interfaces to pass through, the possibility of increased bugs exists (which implies more security holes).
Maintaining modules can be confusing for some administrators when dealing with problems like symbol differences.
As with most things, a compromise between the two black-and-white designs is probably best for many purposes.
26
Week 8 – Linux and Open Source
Linux - Flavors
http://www.linuxfromscratch.org/
You have to check out this link: https://www.howtogeek.com/191207/10-of-the-most-popular-linux-distributions-compared/. It gives a great introductory comparison of ten of the most well-known distributions or “flavors”, of Linux. In the slides that follow, I will show you six of these distributions.
It shouldn’t surprise you to hear that there are many different distributions, of Linux. After all, this software is available for modification to anyone who wants to modify it. In the slides that follow, check out the differences among these different distributions. I started with Linux From Scratch. This distribution creates an environment that allows you to write your own Linux operating system! Now here is a fun project for retirement!
27
Week 8 – Linux and Open Source
Linux - Flavors
We will play with an Ubuntu distribution next. Ubuntu is a well-known, very stable operating system. You will be surprised at how Windows-like its user interface is!
28
Week 8 – Linux and Open Source
Linux - Flavors
Mint added functionality to what was available in Ubuntu, but does not regularly update software like Ubuntu does. You will also note that its user interface is somewhat less Windows-like than Ubuntu.
29
Week 8 – Linux and Open Source
Linux - Flavors
Debian is an older distribution of Linux with a more limited, but totally free, set of functionality.
30
Week 8 – Linux and Open Source
Linux - Flavors
Fedora was designed as a platform for upstream free software.
31
Week 8 – Linux and Open Source
Linux - Flavors
A recent Beta version of Fedora offers three choices of environment: A Workstation distribution, a Server distribution, and an “Atomic” distribution – a host dedicated to running containerized applications.
32
Week 8 – Linux and Open Source
Linux - Flavors
Red Hat is actually a commercial distribution, although its core is still free and open source. Check out the link I provided to look at even more distirbutions that you may not have heard as much about.
33
https://tutorials.ubuntu.com/tutorial/tutorial-create-a-usb-stick-on-windows#0
Week 8 – Linux and Open Source
Ubuntu
Meanwhile, we will move on to actually playing with Linux. There is an easy and fun way to try out one of these distributions. I chose ubuntu because it is probably the most well-known of the distributions. There are many different choices of how to represent this operating system on your computer. You can make a memory-stick version of Ubuntu, and run it as a virtual environment on your computer, to get the feel for it. If you decide to do so, you can actually install the Ubuntu from this same memory stick on your computer. The steps on the slides that follow, are for a Windows installation, but this tutorial includes links for installation from Ubuntu or Apple as well.
34
Week 8 – Linux and Open Source
Ubuntu
First, you need to insert a memory stick in your USB port. 2 GGB is not quite big enough, so you need to choose one that is about 4 GGB in size (since I am not sure there is a 3 GGB size.) Then, click on the Rufus link on the tutorial to download Rufus.
35
https://rufus.akeo.ie/
Week 8 – Linux and Open Source
Ubuntu
Be careful – there are a number of advertisements for other products in this location, and you want to be sure to click the right link. It is shown on this slide.
36
Week 8 – Linux and Open Source
Ubuntu
Next, click on the “Get Ubuntu” link to load the Ubuntu onto the memory stick.
37
Week 8 – Linux and Open Source
Ubuntu
This is less confusing, but you have to click several times. Just follow the steps.
38
Week 8 – Linux and Open Source
Ubuntu
39
Week 8 – Linux and Open Source
Ubuntu
40
Week 8 – Linux and Open Source
Ubuntu
Once the download is complete, you will see two new files in your “Downloads” folder: the Rufus executable and the Ubuntu .iso. Click on the Rufus executable.
41
Week 8 – Linux and Open Source
Ubuntu
This slide shows the settings that worked for me for Windows 10. There is an instruction to possibly use FreeDOS in some circumstances, but I used ISOImage and that worked for me.
42
Week 8 – Linux and Open Source
Ubuntu
Click on the image file icon to the right of the “Create a bootable disk using” checkbox.
43
Week 8 – Linux and Open Source
Ubuntu
The program will take you back to Downloads. Click your Ubuntu ISO.
44
Week 8 – Linux and Open Source
Ubuntu
Then click “Start”.
45
Week 8 – Linux and Open Source
Ubuntu
You will get a few prompts before the download starts. Here, I chose “Write in ISO Image mode” and it worked.
46
Week 8 – Linux and Open Source
Ubuntu
I have approved the downloading of these two files on various computers, with no problem.
47
Week 8 – Linux and Open Source
Ubuntu
Double-check to make sure that you are formatting the correct device! A great idea is to remove all devices from your computer except for the memory stick, before starting the operation.
48
Week 8 – Linux and Open Source
Ubuntu
During the operation, you will see a message “Copying ISO files” in the status bar. When the job is done, the message changes to indicate “READY’.
49
Week 8 – Linux and Open Source
Ubuntu
When the download is complete, leave the memory stick in the computer, and turn the computer off. Then start it up again. As soon as the computer starts to wake up, strike the “F12” key a few times until the message “Preparing one time boot menu” appears in the upper right corner.
50
Week 8 – Linux and Open Source
Ubuntu
Choose a boot file. You should choose the one that indicates “USB Flash Memory”.
51
Week 8 – Linux and Open Source
Ubuntu
Choose the top menu item = “Try Ubuntu without installing”
52
Week 8 – Linux and Open Source
Ubuntu
You will reach this desktop environment. It is extremely Windows-like, and it is very user friendly. This is because Linux uses a free system known as the X Window System, also referred to as X. This is a free, configurable, cross-platform, client-server system for managing graphical user interfaces (GUIs) on single computers and on networks of computers. The X Server is a very complex piece of free software. I have posted a link to an article that explains it – pretty interesting reading!
Functionality that is already in the distribution includes a link to install Ubuntu, a link to an hierarchical file management system, a link to the Firefox web browser, a like to other available Ubuntu software, a link to Amazon.com, system settings, an OS link, and a trash link. Of course, some of this functionality that relies on I/O won’t work with this virtual distribution.
Note the extremely helpful Keyboard Shortcuts window that opens with the opening window.
53
Week 8 – Linux and Open Source
Ubuntu
In this menu of activities along the left side of the screen, you will see some interesting features of this operating system. The first menu item is a help section. It contains a search engine, a text editor, a “Help” function, an email function, and some functionality related to music and videos.
54
Week 8 – Linux and Open Source
Ubuntu
If you type a term into the search engine, whatever applications relate to that search appear in the window.
55
Week 8 – Linux and Open Source
Ubuntu
The file management system works in the expected way.
56
Week 8 – Linux and Open Source
Ubuntu
Ubuntu makes use of some of the modules of LibreOffice, a free Office Suite product that contains word processing, spreadsheet, slide presentation, and other types of functionality.
57
Week 8 – Linux and Open Source
Ubuntu
The word processing product creates a file with an .odt extension. This file can be opened with Microsoft Word, although there are some issues with formatting occasionally.
58
Week 8 – Linux and Open Source
Ubuntu
Hotkeys such as “Alt-F” and “Alt-V” work in the way they used to work in Microsoft Office Suite, so you can get dropdown context menus if you want them.
59
Week 8 – Linux and Open Source
Ubuntu
The spreadsheet program is very much like Excel in many ways. It creates a file with an “.ods” extension.
60
Week 8 – Linux and Open Source
Ubuntu
The slide show application looks a lot like Power Point. It creates a file with an “.odp” extension.
61
Week 8 – Linux and Open Source
Ubuntu
This screen shows all the tools available in the “Settings” menu.
62
Week 8 – Linux and Open Source
Ubuntu
If you press “CTRL” “ALT” and “T” together, it puts you in terminal mode, the command line mode. We will explore this more next week.
63
Week 8 – Linux and Open Source
Ubuntu
I hope you enjoy this journey into a different reality. We will play with Linux more next week. Have a great week!
64
References
http://www.socialmediaexaminer.com/copyright-fair-use-and-how-it-works-for-online-images/
https://www.lib.umn.edu/copyright/using-images-teaching
https://www.stinkyinkshop.co.uk/articles/ultimate-guide-to-images
https://www.rivaliq.com/blog/guide-copyright-fair-use-laws-online-images/
https://images.search.yahoo.com/search/images?p=richard+stallman+images&fr=mcafee&imgurl=http%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2F5%2F50%2FNicoBZH_-_Richard_Stallman_%28by-sa%29_%289%29.jpg#id=33&iurl=http%3A%2F%2Fi1.blogs.es%2Fiximmoq0bgbn5qt34slw.jpg&action=click
http://arandasoft.com/wp-content/uploads/2016/05/guido-van.jpg
https://www.howtogeek.com/139287/the-great-debate-is-it-linux-or-gnulinux/
https://www.gnu.org/gnu/gnu.en.ht
https://directory.fsf.org/wiki/GNU
https://www.howtogeek.com/191207/10-of-the-most-popular-linux-distributions-compared/
http://www.linuxfromscratch.org/
http://groups.csail.mit.edu/mac/projects/lpf/
http://www.systhread.net/texts/200510kdiff.php
https://tutorials.ubuntu.com/tutorial/tutorial-create-a-usb-stick-on-windows#0
65