1. Refresher Course at CSD Mumbai University.
Jan-14 2013
Presenter:
Amol A Sale
amol@joyoflinux.com
Open Source for academics.
2. Outline
What is Open Source?
Who runs open source projects?
Why open source?
Business models
Contributing to open source.
Why to contribute?
What benefit student or professional gets out of it?
Adopting Open Source in academics.
Resources
3. What is Open Source?
“The practice of providing open-source code for a
product; Open-source software in general; To make
open-source”
Free sharing of technological information like
cooking recipes have been shared since the
beginning of human culture. Sharing cooking recipe
does not mean sharing cooked food.
4. Why open source?
FLOSS potentially saves industry over 36% in software
R&D investment that can result in increased profits or be
more usefully spent in further innovation.
No code is good code, there is always scope for
improvement and human limit may restrict the growth of
your project, so open the source.
To make your code world class.
Open source software projects may offer a learning
opportunity those students aren't getting in school.
The best run open source projects have real standards,
and teams of experienced programmers.
6. Source: Linux Kernel
Development
How Fast it is Going, Who is
Doing It,
What They are Doing, and Who
is Sponsoring It
A White Paper By The Linux
Foundation
http://www.linuxfoundation.org/
7. Source: Linux Kernel
Development
How Fast it is Going, Who is
Doing It,
What They are Doing, and Who
is Sponsoring It
A White Paper By The Linux
Foundation
http://www.linuxfoundation.org/
8. Why they contribute?
Companies like IBM, Intel, SGI, MIPS, Freescale, HP, etc. -- to
ensure that Linux runs well on their hardware.
Distributors like Red Hat, Novell, and CentOS, Ubuntu have a
clear interest in making Linux as capable as it can be.
Companies like Sony, Nokia, and Samsung ship Linux as a
component of products like video cameras, television sets,
and mobile telephones.
VMWare - built on Linux kernel.
Nvidia – Interested in Graphics business.
Intel – Processor family interest
Google – Run many Linux based servers in house.
Volkswagen?
9. Why do people contribute?
“Human beings have an inherent tendency to seek out
novelty and challenges, to extend and exercise their
capacities, to explore, and to learn.”
Daniel H. Pink (Author of DRiVE - What motivates us?)
10. Why students/we should contribute to
Open Source?
You get :
Good developers have always known that the way to improve is by reading
well-written programs. Good FOSS projects in dynamic communities provide
a wealth of examples for students to read, understand, and work on.
Chance to interact with world class software team.
Chance to read, modify or improve world class source code.
Learn from constructive feedback of mature, well-run FOSS project team
Learn project management.
Essential professional software development skills that are seldom well-
taught in formal school settings.
Learning Communications and social skills.
Participation in FOSS projects can generate a very public portfolio of
practical work. This beats a resume any day. It also makes it easier to show
your previous work to a potential employer.
11. Business models
Open source software can be sold and used
commercially.
Donations?
Saas? Iaas?
Though there are FOSS apps around developed by big
companies, Open source does not always means free of
cost.
You can charge/sell your software along with source
code.
You can distribute it free and charge for Support.
Important: First understand the Licensing in depth and
then go with business.
12. Examples
Canonical Ltd. offers Ubuntu for free, while they sell
commercial technical support contracts.
Mozilla Foundation have a partnership with Google and
other companies which provides revenue for inclusion of
search engines in Mozilla Firefox.
MySQL is offered for free, but with the enterprise
version includes support and additional features.
Novell offers openSUSE for free through the openSUSE
Project, while selling SUSE Linux Enterprise (SLE).
Red Hat offers the Fedora for free through the Fedora
Project, while selling Red Hat Enterprise Linux (RHEL).
Oracle offers OpenOffice.org for free, while selling
StarOffice.
13.
14. So do you ...
use good quality FOSS every day?
like the freedom and openness of the Internet?
think that Internet content should remain free?
share stuff with your friends for free?
BUT
Did you know that all (a lot) of this stuff is based
on...
FOSS ?
15. You use Open Source Software every
day.
When you e-mail a document, pay your taxes online,
book an airline flight or do a search for a long lost
relative, you’ve just used open-source software.
Every startup has access to the same technology that
only large enterprises could afford in the past.
16. Business Models using Open Source?
Come up with a distinctive practical idea.
See if there is any work done towards it in open source projects.
If yes, See how can you adopt it and make it compatible with your
idea?
If not, start a new open source project
Every tool is available there starting from kernel, filesystem to web
server, open source social network platform find ways to adopt it to
your idea.
CMS (Content Management Systems) – Drupal, Wordpress, Open
Cart, MediaWiki and many more.
Open Source consultancy to SMEs or individuals.
Open source training.
Hosted Services – Cloud, Virtualization based infrastructure.
Saas or Iaas
19. So how to get started?
OSS Watch is an advisory committee which provides
comprehensive analyses of the legal, technical, and
economic aspects of open source software
implementation in the higher education sector.
http://www.oss-watch.ac.uk/
Open educational resources are online resources that
provide free applications and learning materials for
academic institutions. includes complete course materials,
modules, journals, reference materials. These resources
can be modified and redistributed.
http://www.oercommons.org/
21. Open source curriculum (OSC)
MIT OpenCourseWare http://ocw.mit.edu/
Stanford Online's internal platform, designed to be an
open platform for online learning and research.
http://class2go.stanford.edu/
http://www.curriki.org/
Khan Academy https://www.khanacademy.org/
Connexions: a place to view and share educational
material made of small knowledge chunks called
modules that can be organized as courses, books,
reports, etc. Anyone may view or contribute:
http://cnx.org/
22. Why Use Open Source in Education?
The absence of a license fee.
Flexibility.
Service continuity.
Continuous improvement.
23. Learning by using.
Building lab infrastructure using open source software
helps in optimizing budget and involving students
make them industry ready.
24. Operating Systems.
Linux as preferred open source operating system.
Choose one distro which suits your needs.
Edubuntu, openSUSE:Education-Li-f-e etc.
Contains many good educational software and
support for education environments. Like LTSP
Knoscience: specifically for higher education.
http://knosciences.tuxfamily.org/doku.php?id=knoscie
nces:software_list
26. Open Source Infrastructure tools
Apache web server.
Hadoop simulations.
Eucalyptus cloud setup.
EXT file systems
Linux volume managers.
Mail servers.
Iptable secured networks.
And many more
29. Moodle
Moodle is a Course Management System (CMS),
also known as a Learning Management System
(LMS) or a Virtual Learning Environment (VLE).
It is a Free web application that educators can use
to create effective online learning sites.
Most widely used LMS.
LAMP makes it easy to setup and use.
https://moodle.org/
30. .LRN
Pronounced “dot learn,” .LRN is a popular tool
developed at MIT and based on AOLserver and
OpenACS.
Originally developed at MIT, .LRN is used
worldwide by over half a million users in higher
education, government, non-profit.
It supports online learning and other interactive
digital systems. Originally designed to meet the
needs of universities, it was later implemented in
schools, organizations, and corporations. Its flexible
framework allows easy customization.
32. Case Study: Open Source Education Lab
http://osel.oregonstate.edu
Oregon State University have started this initiative to
help Students involved in Free and Open Source
Software (FOSS).
34. Get started.
Choose an area of your interest.
Do your homework -- mailing list(s), a wiki, code repository; things
done in the past, things discussed on mailing list.
"Be familiar with coding style, contribution practices, community email
etiquette, and copyright assignment practices for the project you are
contributing to."
Testing kernel for different QA tests.
Reviewing code -- any competent developer appreciates more eyes
on the code.
Documentation as a comments inside source code
Submitting patches.
And you know what? It never ends ...
"Most of all, have fun! Don't be discouraged by strong personalities
in the community and try to understand other people’s perspectives."
35. Linux Kernel
Mailing Lists
The Linux Kernel Archives http://kernel.org/
The linuxkernel mailing list archive https://lkml.org/
Subscriptions http://www.tux.org/lkml/
Other important Links
Linux foundation http://www.linuxfoundation.org/
Linux kernel interactive map
http://www.makelinux.net/kernel_map
Kernel documentation http://kernel.org/doc/
Linux Kernel Newbie's http://kernelnewbies.org/
TLDP http://tldp.org/
36. Ubuntu
Development
Write and package new software or fix bugs in existing software. Your
technical skills can make a real difference.
Design
Put your creativity to work by improving the look and feel of Ubuntu. Help
design graphics, backgrounds or themes for the next release.
Bug squad
Help make Ubuntueven better by working with bug reports to ensure they're
clear, complete and easy to reproduce. Anyone can help!
Documentation
Help produce official documentation, share the solution to a problem, or check,
proof and test other documents for accuracy.
37. Ubuntu contd…
Support
Share your technical know-how with other users by joining email
and discussion lists or Internet relay chat (IRC) channels.
Testing
Ubuntureleases new versions every six months so we need lots
of testers who can report or confirm problems.
UbuntuBrainstorm
Everyone can participate in the Brainstorm website. It's full of
ideas on how to improve Ubuntu.
http://brainstorm.ubuntu.com/
38. Wikipedia
Among top five most visited website.
Runs on donations and contributions from around world.
Everyone should contribute because it’s cool to share your knowledge.
And it’s a lot of fun.
Most friendly open source project!
Helps you to become good at writing world class articles.
How to ?
Create an account
Learn some basic markup syntax and go. It’s that simple.
What can be contributed?
Articles, Images, Audio, modifications to existing articles. Participate in
talk pages, it’s a lot of fun.
39. Mozilla
Mozilla foundation hosts many cool and successful
projects.
Firefox is one of the most downloaded software on
earth.
Contribution opportunities:
Localization
Testing and Quality Assurance
Coding
Visual Design
http://www.mozilla.org/contribute/
40. Other cool projects
Xenhttp://www.xen.org/community/
KVMhttp://www.linux-kvm.org/page/Code
Android
Gnome
KDE
File systems like ext, zfs, raiserfs.
Content management systems like drupal, wordpress.
This list is so big and never ending:
http://en.wikipedia.org/wiki/List_of_free_and_open_sour
ce_software_packages
42. Shuttleworth Foundation 1 yr
Fellowship Program
http://www.shuttleworthfoundation.org/funding/fellowship-
programme/
Does not have strictly defined areas of funding
Suggested areas
Communication and Analytical Skills in Education
Intellectual Property Rights
Open and Collaborative Educational Resources
Telecommunications
Open Philanthropy
Open Science
work from where you are.
43. Internship at the FSF
http://www.fsf.org/volunteer/internships
FSF sponsors the GNU project
Chance to work with team who writes gcc, gdb,
emacsand many cool projects.
Work remotely
Unpaid but value of experience counts.
44. Google summer of code
Offers student developers stipends to write code for
various open source software projects.
accepted students are paired with a mentor[s] from the
participating projects, thus gaining exposure to real-
world software development scenarios and the
opportunity for employment in areas related to their
academic pursuits.
more source code is created and released for the use
and benefit of all.
http://code.google.com/soc/
http://code.google.com/opensource
45. Open Source Online Repositories
Google Project Hosting https://code.google.com
Github https://github.com/
Sourceforge http://sourceforge.net/
46. Open source hardware
Information about the hardware is easily discerned.
Hardware design (i.e. mechanical
drawings, schematics, bills of material, PCB layout
data, HDL source code and integrated circuit layout
data), in addition to the software that drives the
hardware, are all released with the FOSS
approach.
http://www.ohwr.org/projects
http://www.openhardware.de/