Open Source: A Community Approach to Software Development

29
Copyright © 2006 www.palinet.org Open Source A Community Approach to Software Development John Houser August 28, 2007

Transcript of Open Source: A Community Approach to Software Development

Page 1: Open Source: A Community Approach to Software Development

Copyright © 2006 www.palinet.org

Open SourceA Community Approach to Software

Development

John HouserAugust 28, 2007

Page 2: Open Source: A Community Approach to Software Development

Topics

• Definition• In Practice…• Open Source Communities• Open Source vs. Free• Common Open Source

Technologies• Common Questions• The Bottom Line• Attitudes• LibLime and PALINET

Page 3: Open Source: A Community Approach to Software Development

Definition

• Open source software is computer software whose source code is available under a license (or arrangement such as the public domain) that permits users to use, change, and improve the software, and to redistribute it in modified or unmodified form. It is often developed in a public, collaborative manner.

–Wikipedia

Page 4: Open Source: A Community Approach to Software Development
Page 5: Open Source: A Community Approach to Software Development

In Practice…

• Community• Peer review• Collaboration• Users becoming designers

– Or even developers• Ownership and copyright issues• Free distribution

Page 6: Open Source: A Community Approach to Software Development

Community

• Website – Usually .org– FAQ– Wiki– A bug tracking system, often Bugzilla

• Lists– Where the users are

• CVS, SVN, or other code tracking repository

• IRC channel– Where the developers are

• Foundation

Page 7: Open Source: A Community Approach to Software Development

Characteristics of Open Source Communities

Benign Dictatorship

Meritocracy

Page 8: Open Source: A Community Approach to Software Development

Characteristics of Open Source Communities

• Reputation matters and is built by answering questions and contributing

• You don’t have to be a developer to contribute– Contributions can take the form of

code, documentation, wiki organization

Page 9: Open Source: A Community Approach to Software Development

Open Source vs. Free

• Open source licenses ensure that you have certain freedoms– Use– Change– Improve– Redistribute

• There are always costs associated with using any software, even if you don’t have to pay a license fee

Page 10: Open Source: A Community Approach to Software Development

Common Open Source Technologies

• LAMP – Linux, Apache, MySQL, Perl or PHP– Used by WordPress, Drupal, Koha

• AJAX – Asynchronous JavaScript and XML– Used by Evergreen

Page 11: Open Source: A Community Approach to Software Development

Widely Used Open Source Applications

Linux OS

Firefox Web browser

Apache Web server

OpenOffice.org MS Office alternative

MySQL SQL server

WordPress Blogging software

Audacity Audio file editor

MediaWiki Wiki software

Drupal Website content management system (CMS)

Pidgin IM/IRC

Page 12: Open Source: A Community Approach to Software Development

Browser Statistics

Page 13: Open Source: A Community Approach to Software Development

In the Library World

• Koha (LAMP)• Evergreen (AJAX)• DSpace• Fedora• Greenstone• OpenOffice.org• WordPress• Drupal• MarcEdit

Page 14: Open Source: A Community Approach to Software Development

Burning Questions

• Will I save money?• Where do I get help?• Is this software high quality?• Is it secure? • Reliable?

Page 15: Open Source: A Community Approach to Software Development

Will I save money?

• Maybe, maybe not• In a more typical scenario not

paying a license fee frees up money which is then invested into the software

• End result: you get more for your money

Page 16: Open Source: A Community Approach to Software Development

Where do I get help?

• Documentation• FAQ• Project mailing list

– Participation in the community matters here!

• Commercial vendor

Page 17: Open Source: A Community Approach to Software Development

Is this software high quality?

• Merely being open source, does not guarantee quality

• But, if the project is being actively developed by a community of developers, peer review will encourage quality

Page 18: Open Source: A Community Approach to Software Development

Is it secure?

Because the code is available for anyone to view, and because of the scrutiny of peer developers, security problems tend to be discovered quickly…and fixed quickly

Page 19: Open Source: A Community Approach to Software Development

Reliable?

• You should know the answer by now: Community!

• Look for the stable release

Page 20: Open Source: A Community Approach to Software Development

Advantages & Disadvantages

• Advantages– Speedy innovation– May be low cost depending on the feature fit

and level of support needed– Secure– Sometimes more standards-based than

commercial products• Disadvantages

– New skills are often required– Community involvement takes time– User interfaces tend not to be very polished

Page 21: Open Source: A Community Approach to Software Development

Attitudes

“That stuff is for geeks and techies. My staff can’t handle it.”

“We don’t have time to learn about open source. It’s too complicated.”

“Our patrons want Microsoft applications. They’re used to them.”

“Nobody I know uses open source. I don’t want to be out in front of the crowd.”

Page 22: Open Source: A Community Approach to Software Development

Quiz

What organization contributes the most code to Linux?

What operating system does Google use?

What is the most popular web server?

What popular browser is open source?

What open source technology does Moodle use?

What is the name of the open source ILS system that uses AJAX?

What is the name of the open source ILS that uses LAMP?

Page 23: Open Source: A Community Approach to Software Development

Quiz

What organization contributes the most code to Linux? IBMWhat operating system does Google use?

What is the most popular web server?

What popular browser is open source?

What open source technology does Moodle use?

What is the name of the open source ILS system that uses AJAX?

What is the name of the open source ILS that uses LAMP?

Page 24: Open Source: A Community Approach to Software Development

Quiz

What organization contributes the most code to Linux? IBMWhat operating system does Google use? LinuxWhat is the most popular web server?

What popular browser is open source?

What open source technology does Moodle use?

What is the name of the open source ILS system that uses AJAX?

What is the name of the open source ILS that uses LAMP?

Page 25: Open Source: A Community Approach to Software Development

Quiz

What organization contributes the most code to Linux? IBMWhat operating system does Google use? LinuxWhat is the most popular web server? ApacheWhat popular browser is open source?

What open source technology does Moodle use?

What is the name of the open source ILS system that uses AJAX?

What is the name of the open source ILS that uses LAMP?

Page 26: Open Source: A Community Approach to Software Development

Quiz

What organization contributes the most code to Linux? IBMWhat operating system does Google use? LinuxWhat is the most popular web server? ApacheWhat popular browser is open source? FirefoxWhat open source technology does Moodle use?

What is the name of the open source ILS system that uses AJAX?

What is the name of the open source ILS that uses LAMP?

Page 27: Open Source: A Community Approach to Software Development

Quiz

What organization contributes the most code to Linux? IBMWhat operating system does Google use? LinuxWhat is the most popular web server? ApacheWhat popular browser is open source? FirefoxWhat open source technology does Moodle use? LAMPWhat is the name of the open source ILS system that uses AJAX?

What is the name of the open source ILS that uses LAMP?

Page 28: Open Source: A Community Approach to Software Development

Quiz

What organization contributes the most code to Linux? IBMWhat operating system does Google use? LinuxWhat is the most popular web server? ApacheWhat popular browser is open source? FirefoxWhat open source technology does Moodle use? LAMPWhat is the name of the open source ILS system that uses AJAX?

Evergreen

What is the name of the open source ILS that uses LAMP?

Page 29: Open Source: A Community Approach to Software Development

Quiz

What organization contributes the most code to Linux? IBMWhat operating system does Google use? LinuxWhat is the most popular web server? ApacheWhat popular browser is open source? FirefoxWhat open source technology does Moodle use? LAMPWhat is the name of the open source ILS system that uses AJAX?

Evergreen

What is the name of the open source ILS that uses LAMP? Koha