free software, open source, gnu/linux · free software philosophy 1997 the debian free software...

33
Introduction to: Free Software, Open Source, GNU/Linux

Upload: others

Post on 17-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

Introduction to:

Free Software, Open Source,

GNU/Linux

Page 2: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

A big thank you This presentation was made based on lots of info gathered

from the internet and other places, but there are 4 main sources that I must say that they were very helpful

Revolution OS: A documentary movie about open source and linux, Starring Richard Stallman and Linus Trovalds along with other great guys.

Survey of Linux and Open Source Technologies and their Business Functions by CJ Fearnley, Linux Force Inc. http://www.CJFearnley.com/pantug.july.2006.presentation.pdf

EGLUG's Notes on the first GNU/Linux course: http://www.eglug.org/alex_course

Palestine LUG Presentation in Expotech 2006 http://www.plug.ps/plugdocs/plugexpo.odp

Page 3: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

About me, and this document

Ahmed El-Mekkawy AKA linuxawy.

Graduated 2001 from Faculty of Engineering, Alexandria University.

Senior System Administrator and Administration Team Leader in eSpace Technologies http://www.espace.com.eg

Senior Member in Egypt GNU/Linux User Group (EGLUG)

This document is a small contribution from my side to the Free Software world, hope someone finds it useful.

This ducument is under GNU Free Document License (FDL). Feel free to use and distribute.

Page 4: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

Me and GNU/Linux

My first knowledge of linux was redhat 7.2

I joined linux-egypt as a jounior member.

I was in the early forming of EGLUG as a jounior member too.

Completely Depending on GNU/Linux since then.

After being highly active in the community, i became a senior in EGLUG.

I switched my career to linux administration in late 2006

As the only active senior member in Alex, I'm now temporarly in charge of gathering and coordinating alex team for eglug .

Page 5: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

GNU and Linux

Page 6: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

GNU's Not Unix

What FOSS Stands for?

What's GNU?

What's GNU/Linux?

What's GNU/Hurd?

Debian GNU/Hurd exists? not really, not yet

What's GNU/Darwin?

Is Darwin FOSS? yes.. GPL'd? nop, it's APSL'd

GPL'd version of Darwin? yes, Open-Darwin, but ...

What is this all about?

Page 7: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

FOSS Definition (4 Freedoms)

The freedom to run the program, for any purpose (freedom 0).

The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.

The freedom to redistribute copies so you can help your neighbor (freedom 2).

The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.

Page 8: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

Free Software Philosophy

1997 The Debian Free Software Guidelines (DFSG)

1998 Open Source Definition (4 Freedoms)

General Public License (GPL)

Free software is a matter of liberty, not price. To understand the concept, you should think of free as in "free speech", not as in "free beer".

Open Source is a development methodology; Free Software is a social movement.

Distributed development is one of the main key strengths in FOSS.

Page 9: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

Three definitions of Linux

Linux Kernel: The very low-level software that manages your computer

hardware and provides a library (POSIX) interface for user-level software. The Linux kernel runs on many platforms (Intel x86, IA-64, AMD64, Alpha, MIPS, HP PA-RISC, PowerPC, IBM S/390, SPARC, Motorola 680x0, etc.).

GNU/Linux OS: The Linux kernel plus utility software to provide a useful working

environment.

Linux Distribution: The packaging of the Linux Kernel, the GNU/Linux OS and lots of

other software to make Linux easy to install, configure, and use (at least for the target audience).

Page 10: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

Quote

You never change things by fighting the existing reality. To change something, build a new model that makes the existing model obsolete.

R. Buckminster Fuller

Page 11: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

GNU/Linux Histrorical Timeline

1969: Unix is developed at AT&T

1983: The GNU Project launched by RMS

1991: Linux 0.01 ( 10k line of code, 1 user )

1994: Linux 1.0 ( 170k line of code, 100 thousand user)

1996: Linux 2.0 ( 400k line of code, 1.5 million user)

1998: Open Source Definition (4 Freedoms)

1998: Linux 2.1.11 ( 1.5M line of code, 7.5 million user)

1999: Linux 2.2: 12 million users

2008: A Promising Future

Page 12: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

Linux Evolution within First 8 years

1991 (ver0.01)

1992 (ver0.96)

1993 (ver0.99)

1994 (ver1.0)

1995 (ver1.2)

1996 (ver2.0)

1997 (ver2.1)

1998 (ver 2.1.11)

0

1,000,000

2,000,000

3,000,000

4,000,000

5,000,000

6,000,000

7,000,000

8,000,000

0

200,000

400,000

600,000

800,000

1,000,000

1,200,000

1,400,000

1,600,000

Lines of CodeUsers

Page 13: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

Quote

You can’t better the world by simply talking to it. Philosophy to be effective must be mechanically applied.

Buckminster Fuller

Page 14: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

GPL version 3

if you distribute copies of such a program, whether gratis or for a fee, you must:

pass on to the recipients the same freedoms that you received.

make sure that they, too, receive or can get the source code.

show them these terms so they know their rights.

there is no warranty for the GPL'd free software, and modified versions has to be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.

Page 15: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

Why use Open Source & Linux?

Speed and Stability.

Open Source tends to be high quality and economical.

Security: very little security holes & quick fixes.

No worms, spyware, crashes, and no more blue screen of death.

True multiuser system (secure file permission, use can't affect other users or the OS, user must logon)

Modularity (User isn't locked to one shell or GUI).

Strong communities for development and support.

Developers, Developers, Developers!

Code, Code, Code!

Page 16: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

Open Source is not only in software

General Knowlege: Wikipedia.org

Web Designing: OSWD.org (Open Source Web Design), OpenDesigns.org , OpenWebDesign.org

Learning: ChemCollective.org, k12EdCom.org

Hardware: opencores.org

Others: OpenCola (Open Source Cola Formula), Open Data (Scintific data & others)

Page 17: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

Business in FOSS world

”The Cathedral and the Bazar” (1997) by Eric Raymond.

Free Software => Open Source => FOSS

Cygnus (1989): First business model in FOSS, Technical support for GNU tools (merged with RedHat 1999)

Netscape(1998): First big company turned into FOSS (netscape => mozilla). This was highly influenced by "the cathedral and the bazar" which they heared in the perl conference in 1997

Page 18: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

Quote

I guess you could call the belief in sharing of knowledge a philosophy, but I just think it’s a fact. It’s what differentiates science from alchemy or witchcraft. Anybody who doesn’t believe in it is just wearing some serious blinders.

Linus Torvalds

Page 19: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

Distributions

Debian: large (>1200 developers), community developed, strong policy, 15k packages, growing by 20% annualy. Largest (?)

Ubuntu: aimed for desktop users, based on debian unstable.

Red Hat: Early star, now aimed for enterprise.

Fedora: Sponsored by redhat, community supported.

Centos: The Free (from charge) alternative to RHEL.

Mandriva: Popular redhat derivative.

Suse: made by Novell, aimed for enterprise. Lately there's a joint development with microsoft.

OpenSuse:Open source alternative of Suse, community supported

Slackware: Very Unix-like, Old but popular

Phaeronix: The egyptian distro.

Arabian, Arabbix: Arabic distros, but discontinued.

Page 20: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

Single tree and mount points

Single tree system Vs. Multi-tree system.

why mount?

/mnt , /media

Mount Points can be any empty directory.

Mount exists in Window$.

You can have any number of mount points.

Page 21: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

root root root

The root directory ( / ): The root of your only tree. It must be assosiated to a partition.

The root user: equals to the administrator in the Window$. Very dangerous to login with it (really, i'm not kedding with

that). Should be disabled or use a really hard password.

The root home directory ( /root ): The home directory of the root user (where he stores his files)

Page 22: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

GNU/Linux Directory structure

Everything is a file

Main Directories and their intended use: /etc : configuration files.

/bin, /usr/bin (binaries) excutables.

/sbin, /usr/sbin : (super user binaries) excutables for system-wide changes (e.g hardware configurations, shutdown, kernel-related, .. etc).

/tmp : temporary.

/home : subfolder for every account, account related files (desktop, account-related configurations.

/root : the root user home directory.

/mnt, /media : a place for mounting additonal devices.

/dev : hardware devices (editable, with extreme caution)

/proc : running processes (most of times are editable)

Page 23: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

Display Components

X Server (XFree, XORG).

Desktop Enviroment (DE):

KDE, Gnome, XFCE, ... etc Window Manager (WM)

Window Maker, Enlightment, IceWM, ... etc Compositing Window Manager

Metacity, Beryl, Compiz, ... etc

Page 24: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

Installation Background

Partitioning. Hardware detection. Locales selection (Keyboard, time, location). Package selection. Bootloader.

Page 25: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

Partitioning

Recommended partitioning for home user: Root ( / ), swap, home ( /home).

Recommended size of swap partition (1.5~2 * RAM size)

File System types.

What does journalized mean?

ext3 for stability, ReiserFS for speed.

ext2 is native and speedy. but not stable enough.

Page 26: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

Packaging

What's a software package?

Dependencies.

Source Code Vs. Binary Package.

Mirrors

Why not getting software from third parties?

package managers (apt, yum, urpmi, smart, ... etc)

GUI interfaces for the package managers (e.g synaptic)

Installing a software package not from the mirrors.

portage tree .. a mirror of source codes??

Page 27: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

Bootloader

Why use a bootloader? Does Window$ has a bootloader? Lilo Vs. GRUB /boot /boot/grub/menu.lst

Page 28: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

GNU/Linux OS layers

Kernel. Shell. X-Server. Desktop Enviroment (or a Window Maker). Composite Window Maker. Window Decorator.

Page 29: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

CLI Vs. GUI

CLI is for experienced users only, GUI can be used by anyone.

CLI more powerful, GUI more user friendly.

Most server releases doesn't contain GUI interface.

My advice is that you use GUI for normal and daily tasks (e.g browsing, ... etc.) and use CLI for every administration task you do.

Page 30: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

Positives: User friendly.

Eye candy.

Where normal users lives. as well as we live when we use our PC's as normal users (browsing, IM, Office, ... etc.)

Suitable for non-critical tasks which we can afford it to be slower and less stable for being more easy to use.

Negatives: Consumes too much of your resources.

Cause it's a higher layer, this means that bugs have higher possibility to exist.

Not good in administrative tasks, or at least most of them.

Not everything can be done with CLI exists in GUI, it's just a graphical interface and doesn't allow you to use all the options available.

GUI

Page 31: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

CLI much more powerful than GUI

After getting used to it, CLI will be far more EASY and FASTER to you than GUI in lots of tasks.

Most administration tasks are made with CLI. Those who made with GUI are simply a graphical interface that runs CLI commands in the background.

BASH = Bourne Again SHell. Note that there's more than one kind of shell (bash, sh, dash, ... etc)

BASH is the current standard of linux, Unix, and MAC OSX shell.

M$ Window$ is now emplimenting something called 'Window$ Power Shell' ... Will it be compatible with BASH commands? hope so.

Page 32: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

How to get help?

man pages. Distro documentation & forums http://www.google.com/linux http://www.eglug.org http://www.eglug.org/alex IRC: irc.freenode.net IRC: #eglug @ irc.freenode.net

Page 33: Free Software, Open Source, GNU/Linux · Free Software Philosophy 1997 The Debian Free Software Guidelines (DFSG) 1998 Open Source Definition (4 Freedoms) General Public License (GPL)

Conclusion

In a world without walls, who needs 

windows?