Refresher Course at CSD Mumbai University.
Jan-14 2013
Presenter:
Amol A Sale
Open Source for academics.
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
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.
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.
WHO IS
DOING IT?
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/
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/
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?
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?)
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.
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.
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.
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 ?
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.
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
HOW OPEN SOURCE CAN
PLAY BIG ROLE IN
ACADEMICS?
Open educational resources
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/
Open source curriculum (OSC)
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/
Why Use Open Source in Education?
The absence of a license fee.
Flexibility.
Service continuity.
Continuous improvement.
Learning by using.
Building lab infrastructure using open source software
helps in optimizing budget and involving students
make them industry ready.
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
Computer Programming tools
Open source IDE’s like Eclipse, Netbeans.
Databases MySQL, PGSQL, NoSQL
Programming languages: PHP, Perl, Python
Compilers and debuggers: gcc, gdb
Virtualization environments: virtualbox, xen, qemu.
Wireshark network analysis tool.
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
Content Management Systems
Wiki Media Wiki
Blog wordpress
Intranet sites. Drupal.
OPEN SOURCE LEARNING
MANAGEMENT SYSTEMS
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/
.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.
Other popular LMS
Bodington. http://http://bodington.org/
Claroline. http://www.claroline.net/
Dokeos. http://www.dokeos.com/
Sakai http://www.sakaiproject.org
ATutor http://www.atutor.ca
OLAT http://www.olat.org
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).
LEARNING BY
CONTRIBUTING
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."
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/
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.
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/
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.
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/
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_source_software_packages
Some cool Open Source Internship,
Fellowship projects
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.
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.
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
Open Source Online Repositories
Google Project Hosting https://code.google.com
Github https://github.com/
Sourceforge http://sourceforge.net/
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/
Thank You
Top Related