Jon Maddog Hall, hace un repaso de las ventajas del software libre en la educación, como puede emponderar pequeñas comunidades. También nos habla de las cosas que deberíamos enseñar y las que no. Consejos para una educación más libre y solidaria.
Education and Free Software - Jon Maddog Hall in Campus Party London
1. Copyright Linux International 2013 1 of 38
A Comprehensive System of
Education Using Free Software
by
Jon "maddog" Hall
Executive Director
Linux®
International®
2. Copyright Linux International 2013 2 of 38
Introducing You To A Few Friends:
Would Closed Source allow them to...?
Enterprise Creator – 22
President - 21
Kernel Developer – 12
Distribution Developer - 14
Soweto Entrepreneur – 22
Distribution Developer - 12
3. Copyright Linux International 2013 3 of 38
My Latest Hero:
Marcelo Balisteri
Favela Vila Parque da Cidade in Rio de Janeiro
●
Taught himself
computers
●
Taught himself
networking
●
Started Wireless
ISP in favela
●
Started school
for training young
people
4. Copyright Linux International 2013 4 of 38
What Are Goals of Education?
Create a:
− Thinking Electorate
− Thinking Workforce
− Lifetime knowledge
Research
− Public Research with Public money
− Private Research with Private money
• Even then, sometimes it is “public”...
5. Copyright Linux International 2013 5 of 38
Four Functions Of Educational
Body
Set a path of objectives
Teach to these objectives
Certify that people have retained and can
use the knowledge
Research new objectives
6. Copyright Linux International 2013 6 of 38
Paths For “University Education”
Cooperative Education
Guild Program
− Apprentice
− Journeyman
− Master Craftsman
Mentors
Self-learning
Self-teaching - “Do not be afraid”
7. Copyright Linux International 2013 7 of 38
What To Teach and Not To Teach:
That Is The Question
Teach networking standards and
implementation
− Not Cisco networking
Teach how to select and use office products
− Not Microsoft Office
Databases and Data structures
− Not Oracle Database
Telephony
− Not Nortel Communications
8. Copyright Linux International 2013 8 of 38
What Is Free Culture and How
Can It Help?
Free and Open Source Software
– Reduce costs
– Allow real-life projects (fun and useful)
Free and Open Standards
– Enable interoperability and longevity
Creative Commons
Free and Open Hardware
9. Copyright Linux International 2013 9 of 38
K-12
●
K12Linux – LTSP plus Fedora
●
http://fedorahosted.org/k12linux/
●
Edubuntu
●
Poseidon Linux – scientific
− GIS, 3D Visualization, Mathematics,
Statistics, Genetics, Bio-Informatics, other
research
− Portuguese, Spanish, English, German,
Greek, Italian, French
11. Copyright Linux International 2013 11 of 38
A Complete Computer Science
Curriculum
Operating Systems Design
− Kernels
Linux
*BSD
FreeBSD, NetBSD, OpenBSD
FreeDOS
– www.freedos.org
TinyOS
– http:tinyos.net
CMU MACH
Hurd
12. Copyright Linux International 2013 12 of 38
A Complete Computer Science
Curriculum (Cont.)
Operating Systems Design (Cont.)
− Multi
user
tasking
threaded
architecture
− memory managed and not
32 and 64 bit
13. Copyright Linux International 2013 13 of 38
Operating System Design (Cont.)
Filesystems
− FAT (FAT-16, FAT-32, VFAT, etc.)
− NTSC
− Unix
− Log-based
− Journaled
Networked file systems
− NFS, SAMBA
14. Copyright Linux International 2013 14 of 38
Operating System Design (Cont.)
Networking
− TCP/IP
− X.25
− Appletalk
− SMB
− DECNET
− 802.11x
− IR
− Bluetooth
15. Copyright Linux International 2013 15 of 38
Operating System Design (Cont.)
Security aspects
− Kerberos
− SELinux
− AppArmor
Graphics
− X Window System
− OpenGL
Clustered systems (HPC and HA)
Virtualization (Xen and KVM)
Emulators – Wine, BOCHS, QEMU
16. Copyright Linux International 2013 16 of 38
FOSS Not Just “An Operating
System”
Compilers
− “C”, C++, Fortran, Pascal, Lisp, BASIC, etc.
Interpreters
− Python, Perl, Ruby, Tcl/Tk
Database engines
Office Systems
Multimedia tools
VoIP
17. Copyright Linux International 2013 17 of 38
SourceForge
430K+ projects
3.4M+ developers
Without China, India, Latin America, etc.
being fully on connected to Internet
18. Copyright Linux International 2013 18 of 38
What Types of Programs?
Audio & Video
Business &
Enterprise
Communications
Development
Home & Education
Games
Science &
Engineering
Security &
Utilities
Systems
Administration
Emulators and
Simulators
19. Copyright Linux International 2013 19 of 38
SourceForge
Build on top of other programs
− Not just whole programs, parts of
programs
Meet other people of like interest
Research can go faster, since large
portions of existing code might be used
freely
20. Copyright Linux International 2013 20 of 38
More Things To Teach
(and not teach)
Teach:
− Fundamentals
How does computer really work?
− Machine language
− Cache
How do compilers, OS really work?
− Comparison evaluation
Various office packages
− How to share
Do not teach:
− Specific products
21. Copyright Linux International 2013 21 of 38
Things to Teach
In New Education
How to do distributed development
How to license software
How to develop formal standards
How to write code to standards
How to motivate software developers
How to locate and engage the
community of users and developers
How to innovate, everywhere, always
How to evaluate and size customer needs
23. Copyright Linux International 2013 23 of 38
LTSP – Linux Terminal Server
Project
Highly Available Server
− All programs
− All data
Thin diskless clients for desktops
− Easy to administer
− Atlanta Public Schools
4400 students, 2200 Clients, 233
classrooms 31 servers, 4 systems
administrators
25. Copyright Linux International 2013 25 of 38
Bootable, Persistent Pen Drives
With your URL printed on the outside!
A complete GNU/Linux Operating
System on a Flash-based Pen
Drive
Persistent storage for the user
Can be used with “any” desktop
or notebook
Student carries their data with
them
No licensing “worries”
26. Copyright Linux International 2013 26 of 38
More Than Just Software:
Open Processes
Free and Open Standards
– www.openstandards.org
Linux Professional Institute
– www.lpi.org
27. Copyright Linux International 2013 27 of 38
More Than Just Software
Open Hardware
Open Telephony
Arduino
Raspberry Pi
– GNU/Linux for 35 USD
28. Copyright Linux International 2012 28 of 38
Adapteva – 99 USD
Supercomputer On A Card
● Two core ARM processor
● Field Programmable
Gate Array
● Digital Signal Processing
chips
● 16 or 64 core processor,
each core having its
own MB of memory
directly addressable
● 5 W
29. Copyright Linux International 2013 29 of 38
....Other Embedded Systems...
Imagine
students
building
products
with these
Imagine
students
designing
these
30. Copyright Linux International 2013 30 of 38
A Challenge for This Region
Find your brightest students
Get them to create a proposal for an
embedded system products
Choose best five proposals
Get CS students to develop software on
GNU/Linux systems
Get EE students to develop controllers
Get companies to manufacture products,
create jobs
31. Copyright Linux International 2013 31 of 38
Creative Commons
A simple licensing model for:
Text
− Project Gutenberg –
www.projectgutenberg.org
39000 free books
Gateway to 100K
Photographs
Music
Art
32. Copyright Linux International 2013 32 of 38
Today Even The Student Who
Has No Money..
Can find the college curriculum on the
Internet
Can find the objectives of the curriculum on
the Internet
Can find the information on the Internet
− Khan Academy
− MIT, Stanford, Rice
Can learn the information from the Internet
If they have access to the Internet
33. Copyright Linux International 2013 33 of 38
What About “Certification”?
●
LPI – Linux Professional Institute
●
www.lpi.org
●
Portfolio
●
programs
●
email
●
Letters of recommendation
34. Copyright Linux International 2013 34 of 38
How To Develop A Portfolio
●
Find a Free Software Project to Work
On
●
Start by reading the mailing list,
getting used to the code
●
Start by working on fixing bugs,
matching the code style of others
●
Eventually join the project as a
developer
●
Keep records of your contributions
35. Copyright Linux International 2013 35 of 38
How To Develop A Portfolio
(Cont.)
●
Ask for letters of recommendation from
your project leaders and peers
●
And give praise where praise is due...
●
Show your work to prospective employers
Mark Shuttleworth – developing Canonical
36. Copyright Linux International 2013 36 of 38
Closed Source Interns
Can show no real portfolio.....
...their contributions are hidden behind closed doors.
37. Copyright Linux International 2013 37 of 38
Co-operatives For Business
Way of setting up a business
Owned by the workers (or the customers)
Share resources
− Sales people
− Legal people
− Administrative help
− Expertise
Companies work with company
FOSS has allowed these students and others to see how real operating system software, developed by their peers, is being used on 1/3 of all the server systems shipping today, most of the supercomputers being developed, a large number of embedded systems and (finally) is being delivered to the desktop. This software is being used all over the world, in countries that can not afford the high costs of closed source, proprietary software, but can contribute to the over-all generation of this software. This allows them to contribute to their own well-being...the essence of a democracy.
What are the real goals of a University? It is NOT just to give students a job, nor to teach them how to use some specific software to do their job. If this was true, we should pull back their diplomas when the products change. The goals of the undergraduate university is to teach students how to learn from books, magazines and (today) the Internet, how to be a thinking electorate and to make decisions and how to be a self-trained workforce for industry. This creates a life-long education. Furthermore, the university also does research to further move human knowledge. If most of the university is funded with public and government funds, this research should be as public as possible. It should be done with FOSS.
If you are teaching computer science or computer engineering, you have more than just “Linux” to look at for your courses. Other major kernel designs are available, all the way from general purpose operating systems such as Linux and the various BSD kernels, to real-time and embedded systems, both monolithic kernels and micro-kernels. There are even MS-DOS clones such as FreeDOS
These operating systems do not run just on Intel-like architectures, but other architectures as well. So you can select high-speed, high-power hardware or low-power, embedded systems. You can also have a 32-bit or 64-bit system. 64 bits, of course, allows for very large address spaces, useful to solve super-computer style of problems. But it is good to be able to use the same programming interfaces (API)s for all different types of systems
Different file systems have advantages in various areas, so it is good to study all of them. Of course compatibility with other systems is also a goal. Linux, as an example, can access many different file systems, so can read and write existing data on different existing disks. Networked file systems allow data-sharing across operating system boundaries.
Networking is more than just TCP/IP. Legacy networking protocols also have to be supported, as well as emerging wireless technologies.
Much is said about how FOSS systems can not be secure because people can see the holes in them. But the counter-argument of FOSS is that there are many eyes looking for those faults, and they are quickly patched when found. In addition, there is no such thing as a “retired” FOSS system that no one is willing to patch, as each user has the source code available to them, and can have it fixed if it needs it. On the other hand, major developments in security and authentication were developed in the FOSS community. The X Window System is a distributed, client/server model of graphics, both 2-D and 3-D. Clusters, both High-Performance “Beowulf” sytsems and High Availability systems are also freely available.
But if operating systems were the only things available, FOSS would be boring. Major (and even minor) computer languages are also supported, and you get th e sources to look at so you can see how they work. Many people now use high-level languages such as Perl, Python, Ruby and TCL/TK to write code that runs portably across lots of operating systems, even Microsoft Windows. Relational and object-oriented databases, office systems and multimedia editors, players and other programs are also available. VoIP is a technology to help with communication and lower costs. End user softphones, libraries of codecs, and open source PBX systems such as Asterisk are allowing people to communicate all over the world where normal telephony solutions are simply too expensive or not commercially feasible.
SourceForge is a repository of FOSS which allows people to house their software projects. Currently (September, 2005) it has over 103,000 projects and over 1.14 million registered users. A lot of people say that there is a lot of overlap on these projects, and that some of them are not so good, or that some of them were started, but there are no longer people working on some of these projects. While some of these claims may be true, the projects that are “stagnate” often come back to life, and even if they do not, the sources are still there to help teach other people. Finally, even if only 1/10 th of these projects and people are “real”, it is still more projects and developers than any company has.
SourceForge is a repository of FOSS which allows people to house their software projects. Currently (September, 2005) it has over 103,000 projects and over 1.14 million registered users. A lot of people say that there is a lot of overlap on these projects, and that some of them are not so good, or that some of them were started, but there are no longer people working on some of these projects. While some of these claims may be true, the projects that are “stagnate” often come back to life, and even if they do not, the sources are still there to help teach other people. Finally, even if only 1/10 th of these projects and people are “real”, it is still more projects and developers than any company has.
There has been a movement away from the fundamentals of teaching in computer science. Universities are teaching JAVA as the programming language now, with no instruction in how a computer really works. This fosters really bad coding habits, that cause programs to work forty or fifty times slower than they have to work. They do not teach such things as parallel programming, or hardware issues. Universities also teach some courses such as “How to run your business using Microsoft Office.” At a minimum this course should be changed to “How to run your business using various different office systems” to allow students to learn how to make their own choices of software.
Universities need to teach different things for this type of service to survive. Some of these topics are listed in this slide.
FOSS is more than just software: The Free Standards Group is a non-profit group which is defining an Application Binary Interface to allow applications to work across different distributions of Linux from different vendors. The Linux Professional Institute is a non-profit creating a world-wide, distribution and hardware independent systems administration certification. Both of these organizations allow people and companies to help define the interfaces and certifications. If you produce or deliver training, you can have your company listed for free on lintraining.com Open Hardware designs are also beginning to appear, allowing companies to improve them through manufacturing efficiencies.
FOSS is more than just software: The Free Standards Group is a non-profit group which is defining an Application Binary Interface to allow applications to work across different distributions of Linux from different vendors. The Linux Professional Institute is a non-profit creating a world-wide, distribution and hardware independent systems administration certification. Both of these organizations allow people and companies to help define the interfaces and certifications. If you produce or deliver training, you can have your company listed for free on lintraining.com Open Hardware designs are also beginning to appear, allowing companies to improve them through manufacturing efficiencies.
These are all relatively small systems utilizing the Linux operating system. The top is a 30 pin SIMM that has a Motorola CPU, ETHERNET, Serial interface and Parallel interfaces on it, as well as an LCD screen controller. The second is a Linux-based wrist-watch, a research project now looking to be implemented by a watch company The last two photographs are of a “server system” that has a 1 Gbtye disk, 32 Mbytes of main memory, Ethernet and USB port. Linux would be in flash memory.
A challenge for a university....to act as an incubator for new innovations.