Open Source Software Gathered from material all over the web what is open source software? • Open Source software is distributed with its source code. The Open Source Definition has three essential features: • It allows free re-distribution of the software without royalties or licensing fees to the author • It requires that source code be distributed with the software or otherwise made available for no more than the cost of distribution • It allows anyone to modify the software or derive other software from it, and to redistribute the modified software under the same terms. • Steven Weber, The Political Economy of Open Source Software, BRIE Working Paper 140, • http://brie.berkeley.edu/~briewww/pubs/pubs/wp/wp140.pdf Open Source Software • Community-developed and community-supported (via mailing lists and web forums). • Gives YOU control over the software source code. • Allows you (or someone you hire) to modify the code to fit your specific needs. • Often sponsored by foundations or companies (how the core group of programmers get paid). • Generally written to take advantage of open standards. So... What are “open standards”? Standards in Real Life Nuts and Bolts • Generally speaking, nuts and bolts come in standard sizes. • If you loose a nut, you can run to the hardware store and buy another one of the same size. Standards in Real Life Pipes and Fittings • Plumbing pipe comes in standard sizes and fittings • You can choose your plumber based on quality of service, not on the brand of pipe you have. Standards in Real Life Electrical Plugs (and voltage!) • Think about how many electronic devices exist today in your home. • This would not be possible without standardization of electrical power delivery. Standards in Real Life Light Bulbs • Very easy to buy a “standard” light bulb • Plenty of room for innovation, such as the new lower-wattage fluorescent bulbs. Standards in Real Life Connections • Almost all external computing devices are now USB • Eliminates questions such as “do you need a serial or PS/2 mouse?” Standards in Real Life More plugs • Audio • Video Standards in Real Life How Web Sites Work GET /index.html HTTP/1.1 Host: www.example.com HTTP/1.1 200 OK Date: Mon, 23 May 2005 22:38:34 GMT Server: Apache/1.3.27 (Unix) (RedHat/Linux) Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT Etag: "3f80f-1b6-3e1cb03b" Accept-Ranges: bytes Content-Length: 438 Connection: close Content-Type: text/html; charset=UTF-8 Standards in Real Life Bottle Caps • You get the idea... What is a Standard? A set of criteria (some of which may be mandatory), voluntary guidelines, and best practices. Examples include application development, project management, vendor management, production operation, user support, asset management, technology evaluation, architecture governance, configuration management, problem resolution. [From Federal Enterprise Architecture Framework http://www.ichnet.org/glossary.htm] Who Creates Standards? • Strictly speaking, an official standard is only produced by an officially recognized standards organization, such as ISO, ANSI, NEMA, NIST, IASB, ITU, ... • IETF, IEEE, W3C, OASIS, Blu-ray Disc Association (BDA) etc. are industry consortia, where groups of companies and individuals get together to produce an industry standard. Industry consortia may produce either open or closed standards. Who Creates Standards? • Entities (people, companies, or software projects) may publish a specification that is open and free to use. This is called an open standard. • Companies may license a specification and charge royalties for its use. This is called a closed standard. What makes a standard “Open”? • Available – Anyone is allowed to read and implement the standard. • No Royalties – Free to implement without paying hefty licensing fees or royalties. • Not controlled by a single vendor - Maximizes enduser choice and makes the market more competitive with no lock-in to a single vendor's implementation. Why care about Open Technology Standards? • Open technology standards promote competition in the marketplace, which benefits the consumer (that's YOU!). • Open technology standards prevent a single vendor from locking you into their product line. • Interoperability, or how software products can work together, is often better with open standards. • More simply put... How easily can you fire your vendor if you become dissatisfied? The Internet Runs on Standard Protocols Something called TCP/IP came along and became the standard network protocol. Why? Because it was completely free and open for anyone to implement. Technology Standards that work – SMTP (email) • Completely open protocol • Allows you to communicate with someone else on the Internet just by knowing their email address. • Enhancements are underway to combat the Spam problem. • Some vendors trying to push their own antispam standards and license them. This is not open enough for the Internet community at large. Where are the Standards? – Web Browser Wars • W3C – an organization that defines web standards, the authority on what constitutes valid HTML. • Major Web Browsers during the late 1990's: - Microsoft Internet Explorer (IE) - Netscape Navigator • Each web page had to be written twice or contain hacks for each browser since neither would display the same page identically. • Situation improving... Mozilla Firefox and upcoming IE7 are much better at complying with web standards. Web Pages that require Internet Explorer This page is best experienced in MSIE 5.5. We will give you an electric shock each time you visit our page with any other web browser. Why? Because we hate you. This page is specifically designed for the broken functionality of Microsoft Internet Explorer. We can not be bothered to validate our HTML or look at the page in another browser. We only support Microsoft Internet Explorer. We are such a bunch of jerks we think we can make the rest of the world use the same thing we do by refusing access to our site to those who choose to use other web browsers. (Examples from http://toastytech.com/evil/onlyie.html) Where are the Standards? Instant Messaging (IM) • • • • • Do you use AIM (AOL Instant Messenger)? What about MSN Messenger? Yahoo! Messenger? ICQ? Google Talk? Google Talk is the new IM software on the block, but the only one mentioned above that uses an open IM protocol. Open Document Format (ODF) • Completely open standard, anyone can read the specifications and use this format. • Accepted as an ISO standard. • Solves the problem of “How will I open this richly formatted electronic document in 50 years?” • Becoming popular with Governments, even in the USA (such as the State of Massachusetts) And now, back to our regularly scheduled program... Open Source Software some dates from the history of open source • 1970s: UNIX operating system developed at Bell Labs and by a diverse group of contributors outside of Bell Labs; later AT&T enforces intellectual property rights and “closes” the code • 1983: Richard Stallman founds the Free Software Foundation • 1993: Linus Torvalds releases first version of Linux built • 1997: Debian Free Software Guidelines released • 1998: Netscape releases Navigator in source • Since then... explosion of open source! Open Source Software – Mozilla Firefox web browser • http://www.mozilla.com • Browser is safer than Internet Explorer • Reduce chances of getting badware on your computer • Adheres to web standards (HTML, CSS) Open Source Software – Mozilla Thunderbird email client • http://www.mozilla.com • Sophisticated junk mail controls and spam filtering. • Knows how to “talk” to all standards-based email servers. Open Source Software – OpenOffice Productivity Suite • http://www.openoffice.org • Supports Open Document Format (ODF). • Output to PDF. • Completely Free! Open Source Software – Apache web server Apache is an Open Source web server product Over 60% of all web sites on the Internet run on Apache Developer June 2006 Apache Microsoft Zeus Sun Active Sites Percent July 2006 25,939,852 12,551,973 250,175 193,140 Data provided by Netcraft (http://www.netcraft.com/) 62.91 30.44 0.61 0.47 Percent Change 63.25 26,800,267 0.34 12,674,698 29.91 -0.53 241,305 0.57 -0.04 157,069 0.37 -0.1 Open Source Software – Apache web server cont'd Some popular web sites using Apache • • • • • • • • • www.wikipedia.org www.youtube.com www.flickr.com www.cnn.com www.imdb.com www.weather.com www.apple.com www.netflix.com www.espn.com examples of open source software • Operating Systems • Linux • FreeBSD, OpenBSD, and NetBSD: The BSDs are all based on the Berkeley Systems Distribution of Unix, developed at the University of California, Berkeley. Another BSD based open source project is Darwin, which is the base of Apple's Mac OS X. examples of open source software • Internet • Apache, which runs over 50% of the world's web servers. • BIND, the software that provides the DNS (domain name service) for the entire Internet. • sendmail, the most important and widely used email transport software on the Internet. • Mozilla, the open source redesign of the Netscape Browser • OpenSSL is the standard for secure communication (strong encryption) over the Internet.categories. example of open source software • Programming Tools • Zope, and PHP, are popular engines behind the "live content" on the World Wide Web. • Languages: • • • • Perl Python Ruby Tcl/Tk • GNU compilers and tools • • • • • GCC Make Autoconf Automake etc. Real Life Example, the woes of proprietary software • For museum membership software we used a proprietary software application – Omnium Gatherum • Company went away... no updates, no changes, no bug fixes. When Y2K rolled around, it broke. • We bought another proprietary application – Campaign Giftmaker. Paid for data import service. • Campaign company bought out Blackbaud (maker of Razor's Edge, another proprietary application). • We now pay yearly maintenance fees for updates. Developing Nations • Many nations are embracing Open Source Software. • Keeps the nation's technology infrastructure from being influenced by companies based in other countries. • Biggest impact in the regions of China, East Asia, India, and South America. Open Standards and International Cooperation “Open standards are essential for us to develop our own standards and applications. Proprietary products force us into long-term contracts and provide no flexibility for us to develop according to our needs.” - Technical Lead Maj. Pete Carrabba on the success of international military collaboration on the battlefield (Multinational Experiment 4 (MNE4)) http://www.consortiuminfo.org/standardsblog/article.php?st ory=20060805120251726 Tips for Evaluating Technology • If it sounds too good to be true, it usually is. • Always be skeptical of marketing claims, always be skeptical of salespeople statements. • Get “it” in writing. • How easily can you fire the vendor? Questions to Ask Your Vendor Make sure that the answer you get is actually an answer to the question you asked! - Will our data be trapped inside your proprietary software? - Will we have access to the raw data and have the ability to export it for our own use? - Will we be given a copy of the source code? - What happens if you go out of business? Pay Attention to These Hot Topics in the News • • • • • Digital Rights Management (DRM) Broadcast Flag for television programming Electronic Voting (e.g. Diebold machines) Net Neutrality Privacy Free Stuff! ubuntu Linux CDs • ubuntu is “Linux for Human Beings” • pronounced /ùbúntú/ (oo-BOON-too) • Completely free to use, copy, and distribute to other people. • Download and Community Support available at http://www.ubuntu.com/ open source software sites • • • • • • • • Free Software Foundation www.fsf.org Open Source Initiative www.opensource.org Freshmeat.net SourceForge.net OSDir.com developer.BerliOS.de Bioinformatics.org see also individual project sites; e.g., www.apache.org; www.cpan.org; etc. conventional models of software development • waterfall • from requirements to code without a backward turn • historically used for large military and corporate software productions; originally used because computing time was expensive • spiral or iterative or evolutionary or agile • iterative cycles of requirements, development, testing, redrafting of requirements, etc. • B. W. Boehm. “A spiral model of software development and enhancement”. IEEE Computer, 21(5):61--72, 1988 open source software development • bazaar • “Treating your users as co-developers is your least-hassle route to rapid code improvement and effective debugging.” • Linus’s Law: “Given enough eyeballs, all bugs are shallow.” • Eric Steven Raymond, The Cathedral and the Bazaar, http://www.catb.org/~esr/writings/cathedral-bazaar/cathedralbazaar/ open source software development Users Documenters Users Bug reporters Patchers Maintainers Core developer(s) Users Users open source business models • • • • service support education extensions open source companies • IBM • uses and develops Apache and Linux; created Secure Mailer and created other software on AlphaWorks • Apple • released core layers of Mac OS X Server as an open source BSD operating system called Darwin; open sourcing the QuickTime Streaming Server and the OpenPlay network gaming toolkit • HP • uses and releases products running Linux • Sun • uses Linux; supports some open source development efforts(Forte IDE for Java and the Mozilla web browser) open source companies • Red Hat Software • Linux vendor • ActiveState • develops and sells professional tools for Perl, Python, and Tcl/tk developers. open source licensing • see http://www.opensource.org/licenses/ • • • • • apache software license python license ibm public license apple public source license etc. GNU General Public License • see www.opensource.org/licenses/gpl-license.php creative commons • non-software licenses: see larry lessig’s “creative commons” project (http://www.creativecommons.org/learn/licenses) creative commons’ licenses explained • Attribution. You let others copy, distribute, display, and perform your copyrighted work — and derivative works based upon it — but only if they give you credit. • Example: Jane publishes her photograph with an Attribution license, because she wants the world to use her pictures provided they give her credit. Bob finds her photograph online and wants to display it on the front page of his website. Bob puts Jane's picture on his site, and clearly indicates Jane's authorship. • www.creativecommons.org/learn/licenses creative commons’ licenses explained • Noncommercial. You let others copy, distribute, display, and perform your work — and derivative works based upon it — but for noncommercial purposes only. • Examples: Gus publishes his photograph with a Noncommercial license. Camille incorporates a piece of Gus's image into a collage poster. Camille is not allowed to sell her collage poster without Gus's permission. • www.creativecommons.org/learn/licenses creative commons’ licenses explained • No Derivative Works. You let others copy, distribute, display, and perform only verbatim copies of your work, not derivative works based upon it. • Example: Sara licenses a recording of her song with a No Derivative Works license. Joe would like to cut Sara's track and mix it with his own to produce an entirely new song. Joe cannot do this without Jane's permission (unless his song amounts to fair use). • www.creativecommons.org/learn/licenses creative commons’ licenses explained • Share Alike. You allow others to distribute derivative works only under a license identical to the license that governs your work. • www.creativecommons.org/learn/licenses is software a form of politics? • does development + business + licensing model(s) = politics? open source in general • what, other than software, might be open source?