View
215
Download
0
Tags:
Embed Size (px)
Citation preview
Open Standards, Open Source
Alun Butler
Kevin McManus
A.R.B. K.M. 23/01/2007 2
Open Standards, Open Source
the University of Greenwich
What we’re going to look at today• Open Standards
• Some examples• The meaning of a standard• What you gain• What you lose
• Open Source• How it all began & where we are today• What is Open Source?• Who owns Opens Source?• Can Open Source stop you know who?• Weaknesses of Open Source
A.R.B. K.M. 23/01/2007 3
Open Standards, Open Source
the University of Greenwich
Quick Quiz
• These initial are all standards bodies. Identify what the initials stand for and what standards they control
1. ISO 2. ECMA 3. ANSI 4. IETF5. IEEE6. W3C7. OASIS 8. OMG9. BSI10.IEC
A.R.B. K.M. 23/01/2007 4
Open Standards, Open Source
the University of Greenwich
Standards Bodies• ISO = International Organisation for Standardization
• Includes Open Systems Interconnection (OSI )• remember the 7 Layer OSI reference model
• ECMA = European Computer Manufacturers Association
• ECMAScript (JavaScript)
• C# Language Specification
• ANSI = American National Standards Institute
• ASCII, F77, C++, SQL
• IETF = The Internet Engineering Task Force
• Network protocols such as HTTP & IP (v1 & 2)
A.R.B. K.M. 23/01/2007 5
Open Standards, Open Source
the University of Greenwich
Standards Bodies
• IEEE = Institute of Electrical and Electronics Engineers • many including Software Engineering Standards
• W3C = The World Wide Web Consortium• XML, HTML, DOM, RDF, etc.
• OASIS = Organization for the Advancement of Structured Information Standards)• ebXML, UDDI
• OMG = Object Management Group• CORBA, UML
A.R.B. K.M. 23/01/2007 6
Open Standards, Open Source
the University of Greenwich
Standards Bodies
• BSI = British Standards Institute• BS ISO/IEC 19770-1:2006
• Information technology - Software asset management
• BS ISO/IEC 90003:2004• Software engineering. Guidelines for the application of
ISO 9001:2000 to computer software
• IEC = International Electrotechnical Commission
A.R.B. K.M. 23/01/2007 7
Open Standards, Open Source
the University of Greenwich
(pseudo) Open
• openGL - Silicon Graphics• PVM - Netlib, Oak Ridge• MPI - Argonne• openMP - Lawrence Livermore• Motif - The Open Group• Openlook - Sun & AT&T• Ada - DoD• Java - Sun
A.R.B. K.M. 23/01/2007 8
Open Standards, Open Source
the University of Greenwich
What is a standard?• Does a Standard have to be written down?• Does it need a formal specification?• Can it just be an interface?
• e.g. JMS
• Should a standard indicate • What?• Why?• How?
• What is the most important standard?• A de facto standard?• Is Windows a de facto standard?
http://www.boxesandarrows.com/archives/examining_the_role_of_de_facto_standards_on_the_web.php
A.R.B. K.M. 23/01/2007 9
Open Standards, Open Source
the University of Greenwich
An example
• OSI Basic Reference Model
• A Standard?
Physical
Data Link
Network
Transport
Session
Presentation
Application
A.R.B. K.M. 23/01/2007 10
Open Standards, Open Source
the University of Greenwich
Physical
Data Link
Network
Transport
Session
Presentation
Application EmailWeb
ApplicationsFile Transfer
DirectoryServices
Host Sessions
NetworkManagement
POP/SMTP DNS SNMP
POP/25 80/443 20/21 53 23 161/162
TCP UDP
IPV4 IPV6
SLIP,PPP 802.2 SNAP Ethernet II
CAT 1-5CoaxialCables
Cat 1 ATMADSL
HTTP(S) FTP Telnet
A.R.B. K.M. 23/01/2007 11
Open Standards, Open Source
the University of Greenwich
Defining a Standard the IEEE way
• Initiate a Project
• Working Group Development
• Writing the Draft
• Balloting the Draft
• Final Approved
• Publishing Standard
• Reaffirming the Standard
A.R.B. K.M. 23/01/2007 12
Open Standards, Open Source
the University of Greenwich
The IETF Way• IETF motto “rough consensus and running code”• Working Groups• Proposal require around 90% consensus to be taken forward• Request For Comment
• A Request for Comments (RFC) is a formal document from the Internet Engineering Task Force (IETF) that is the result of committee drafting and subsequent review by interested parties.
• Some RFCs are informal in nature (e.g. 2795)• Internet standards, the final version of the RFC becomes the
standard and no further comments or changes are permitted. • Change occurs through subsequent RFCs• Authors retain rights (but IETF must be able to publish freely)
http://www.ietf.org/rfc.html
Scott Bradner, The IETF in Open Sources Ed. Chris Dibona, O’Reilly (1999)
A.R.B. K.M. 23/01/2007 13
Open Standards, Open Source
the University of Greenwich
Open Standards1. Availability
Open Standards are available for all to read and implement.
2. Maximize End-User ChoiceOpen Standards create a fair, competitive market for implementations of the standard. They do not lock the customer in to a particular vendor or group.
3. No RoyaltyOpen Standards are free for all to implement, with no royalty or fee. Certification of compliance by the standards organization may involve a fee.
4. No DiscriminationOpen Standards and the organizations that administer them do not favor one implementor over another for any reason other than the technical standards compliance of a vendor's implementation. Certification organizations must provide a path for low and zero-cost implementations to be validated, but may also provide enhanced certification services.
http://perens.com/OpenStandards/Definition.html
A.R.B. K.M. 23/01/2007 14
Open Standards, Open Source
the University of Greenwich
Open Standards5. Extension or Subset
Implementations of Open Standards may be extended, or offered in subset form. However, certification organizations may decline to certify subset implementations, and may place requirements upon extensions (see Predatory Practices).
6. Predatory PracticesOpen Standards may employ license terms that protect against subversion of the standard by embrace-and-extend tactics. The licenses attached to the standard may require the publication of reference information for extensions, and a license for all others to create, distribute, and sell software that is compatible with the extensions. An Open Standard may not othewise prohibit extensions.
A.R.B. K.M. 23/01/2007 15
Open Standards, Open Source
the University of Greenwich
What you get
• You know exactly what to do
• So does everyone else
• Your clients and your servers become 1-1 implementations instead of
* *to
A.R.B. K.M. 23/01/2007 16
Open Standards, Open Source
the University of Greenwich
But
• Implementers rarely implement complete and whole standards• SQL (Superset of the subset)• XML Spy• TIFF• HTML
• Implementers tend to add extensions (and that extension tends to be the bit you want).
• Written standards are by their nature out of date
• Written standards take a long time to produce
• Written standards are inflexible
A.R.B. K.M. 23/01/2007 17
Open Standards, Open Source
the University of Greenwich
Open Source
• Like standards most references on open source tend to be historical in nature
• People get excited about the GNU project standing for the recursive
GNU’s Not Unix• If you want that spin go to Kevin’s WAT site
http://staffweb.cms.gre.ac.uk/~k.mcmanus/web/opensource/
scroll down to Watch This Documentary
It is well worth it!
(and listen to the podcast and read the article)
A.R.B. K.M. 23/01/2007 18
Open Standards, Open Source
the University of Greenwich
Open Source • Open source manifesto
• Copyleft• Richard Stallman 1985
• Free as in speech – not free as in free beer• Free Software Foundation• FOSS
• Software developers have a duty to the world and to each other to tell the truth• good code expresses the truth
“Scientists talk of replication, Open Source Programmers talk of debugging. Where Scientists talk of discovering, Open Source
programmers talk of creating”
Chris DiBona
A.R.B. K.M. 23/01/2007 19
Open Standards, Open Source
the University of Greenwich
Open Source
• Allows (encourages) code inspection
• No code ownership
• Focuses output on the needs of users
• Requires good documentation• Because a lot of people use your product• How is a significant amount of Open Source code
documented now?• Tests!
A.R.B. K.M. 23/01/2007 20
Open Standards, Open Source
the University of Greenwich
But…
• What if it breaks?• You can fix it yourself• You can wait for a sea of other developers to fix it• You can ask a sea of other developers to fix it - ping
• It won’t be architected – It won’t be designed• If it is too complicated to understand people won’t use it• Or they’ll use the version they do understand• The pressure to improve the internal architecture on these
projects is intense because…• Reputations are at stake. • Public reputations
• Usually Open Source code is design as a component• You’re not expected to use it stand alone
A.R.B. K.M. 23/01/2007 21
Open Standards, Open Source
the University of Greenwich
But…
• But surely having the source open is less secure?
• But if it is not open source do you trust the code?
• It may be that the perceived vulnerability of software is more about the motivation of attackers than any actual weakness in the code
• System security is only as good as the sysops can make it
http://www.dwheeler.com/secure-programs/Secure-Programs-HOWTO/open-source-security.html
A.R.B. K.M. 23/01/2007 22
Open Standards, Open Source
the University of Greenwich
But…
• I am risk averse
• I need guarantees
• When it goes pear shaped whose desk does the buck land on?
• Who can I sue?
• If you want a guarantee you will need to pay for it
A.R.B. K.M. 23/01/2007 23
Open Standards, Open Source
the University of Greenwich
Cathedral and the Bazaar
Eric Raymond, The Cathedral & the Bazaar, O’Reilly (2001)
A.R.B. K.M. 23/01/2007 24
Open Standards, Open Source
the University of Greenwich
The Design Imperative
• The people who code open source tend to be above average coders
• They are designing in public view• They are designing for other people (peers)• They are self motivated• They like to fix stuff• The importance of having users
• users are testers• short release cycles
• release early, release often
• Diverse backgrounds breed original perspectives
A.R.B. K.M. 23/01/2007 25
Open Standards, Open Source
the University of Greenwich
Breaking Brooks’ Law
0
20
40
60
80
100
120
1 2 3 4 5 6 7 8 9 10
Performance
Complexity
Proportional to N2 (communication paths)
"Adding manpower to a late software project makes it later."
Fred Brooks,The Mythical Man-Month (1975)
A.R.B. K.M. 23/01/2007 26
Open Standards, Open Source
the University of Greenwich
Breaking Brooks’ Law
• Memes• “Customs, transmitted by imitation and example”
Richard Dawkins, The Selfish Gene, OUP (1989)
• Community Driven• Built in communication channels• Peer driven evaluation• User driven requirements• Motivated developers• Focussed on reusable components
A.R.B. K.M. 23/01/2007 27
Open Standards, Open Source
the University of Greenwich
How to be a Hacker
• The world is full of fascinating problems waiting to be solved
• Nobody should ever have to solve the same problem twice
• Freedom is good • Attitude is no substitute for competence (no posing
please) and stuff your fancy diagram• Learn how to program (by looking at good code)• Run, use and adapt open source code• Start an open source project
A.R.B. K.M. 23/01/2007 28
Open Standards, Open Source
the University of Greenwich
How to be a Hacker
• Larry Wall (the godfather of Perl) gives the three great virtues of a programmer
• laziness• a lack of inclination to exert oneself unnecessarily
• impatience• choose the quickest path to achieve a result
• hubris• arrogant pride
• lookit me mummy
A.R.B. K.M. 23/01/2007 29
Open Standards, Open Source
the University of Greenwich
Really how to be a Hacker• Have a need and no money
• Have a salary and too much time
• Have your bosses have a need and fulfil it cheaply
• Require a product that will continue to be supported
• Imagine a product (you need) that could never defend it’s market share without help
• Imagine a product (you need) that could never obtain market share without being free
• Live on the training
• Live on the consultancy
• Live on your enhanced reputation
• Dual Licence - e.g. Perl, Mono, MySQL, Qt
A.R.B. K.M. 23/01/2007 30
Open Standards, Open Source
the University of Greenwich
Open Source Projects
• Academic Projects• BSD, Linux, Xorg, PostgreSQL, BIND,
Sendmail• Foundation Projects
MySQL, Apache, Mozilla• Middleware Projects
• Globus, Tomcat, JBoss, PHP• Niche Projects
• Audacity, GIMP, Ant, Eclipse• User friendly interfaces
• Gnome, KDE, Project Looking Glass
A.R.B. K.M. 23/01/2007 31
Open Standards, Open Source
the University of Greenwich
Quality Code
"We prefer to have our spacecraft software fail at compile time rather than in space" Neal Gafter Sun Microsystems
http://developer.java.sun.com/developer/community/chat/JavaLive/2003/jl0729.html
• Open Source in Space• Science Activity Planner
“overall [the quality of open source] was far better than.. .. commercial components”
• Look for
• Maturity• Longevity• Activity
Jeffrey S Norris, JPL, Mission Critical Development with Open Source Software -January IEEE Software 2004
A.R.B. K.M. 23/01/2007 32
Open Standards, Open Source
the University of Greenwich
Quality Code
• Professional approved• Stephane Lussier (a self proclaimed über
professional) was surprised to discover• OS coders were not kids
• The WINE (Wine Is Not an Emulator) team initially rejected their patches
• Code reviews are a good way of improving software
• Rejected code is a positive feedback mechanism
Stephane Lussier, New Tricks: How Open Source Changed the Way My Team Works - January IEEE Software 2004
A.R.B. K.M. 23/01/2007 33
Open Standards, Open Source
the University of Greenwich
The Open Source Definition1. Free Redistribution • The license may not restrict any party from selling or giving away the software • This means that you can make any number of copies of the software, and sell or give them
away, and you don't have to pay anyone for that privilege. . 2. Source Code • The program must include source code, and must allow distribution in source code as well as
compiled form.
3. Derived Works • The license must allow modifications and derived works, and must allow them to be distributed
under the same terms as the license of the original software.• 4. Integrity of The Author's Source Code. • The license may restrict source-code from being distributed in modified form only if the license
allows the distribution of "patch files" with the source code for the purpose of modifying the program at build time.
• The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software.
5. No Discrimination Against Persons or Groups. • The license must not discriminate against any person or group of persons.
A.R.B. K.M. 23/01/2007 34
Open Standards, Open Source
the University of Greenwich
The Open Source Definition6. No Discrimination Against Fields of Endeavor. • The license must not restrict anyone from making use of the program in a specific field of
endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.
7. Distribution of License. • The rights attached to the program must apply to all to whom the program is redistributed without
the need for execution of an additional license by those parties.
8. License Must Not Be Specific to a Product. • The rights attached to the program must not depend on the program's being part of a particular
software distribution. If the program is extracted from that distribution and used or distributed within the terms of the program's license, all parties to whom the program is redistributed should have the same rights as those that are granted in conjunction with the original software distribution.
9. License Must Not Contaminate Other Software. • The license must not place restrictions on other software that is distributed along with the
licensed software. For example, the license must not insist that all other programs distributed on the same medium must be open-source software.
10. Example Licenses. • The GNU GPL, BSD, X Consortium, and Artistic licenses are examples of licenses that we
consider conformant to the Open Source Definition. So is the MPL.
A.R.B. K.M. 23/01/2007 35
Open Standards, Open Source
the University of Greenwich
Some licenses
• GPL (GNU General Public Licence)• enhancements, derivatives and even code incorporating GPL
code must be released as open source • viral• protects through publicity (Cyngnus)
• LGPL (GNU Lesser General Public License )• I’ve also seen it referred to as Library GPL (which it what it is)
• if you use it as a library – you don’t need to Open Source
• BSD (Berkeley Software Distribution) style copyright (the Apache license follows this model)• here is the code, do what you like with it, we don’t care, just give
us credit if you try to sell it• and don't muck about with our copyright notice
A.R.B. K.M. 23/01/2007 36
Open Standards, Open Source
the University of Greenwich
Some revealing quotes
• MySQL“The software from MySQL AB that you can download from the pages listed below, is licensed under the GNU General Public License (GPL) and is provided "as is" and is without any warranty. You need to purchase commercial non-GPL MySQL licenses:
If you distribute MySQL Software with your non open source software,
If you want warranty from MySQL AB for the MySQL software,
If you want to support MySQL development.”
• PostgreSQL“Its been almost 4 weeks since PostgreSQL 7.4 was released, and, as with all new releases, several bugs have been identified as administrators migrate their production databases up from older releases”
A.R.B. K.M. 23/01/2007 37
Open Standards, Open Source
the University of Greenwich
Who Owns Open Source?
• JBoss
• MySQL
• Eclipse
• Jakarta
• Ant
A.R.B. K.M. 23/01/2007 38
Open Standards, Open Source
the University of Greenwich
So what is this really all about?
A.R.B. K.M. 23/01/2007 39
Open Standards, Open Source
the University of Greenwich
The Race
• Increasingly the battle for open is for the survival of an alternative
• Why else would IBM invest so heavily in Eclipse?
“In the second Halloween document, a Microsoft staffer writes about the exhilarating feeling that he could easily change part of the Linux system to do exactly what he wanted, and that it was so much
easier to do this on Linux than it was for a Microsoft employee to change NT !”
Bruce Perens
A.R.B. K.M. 23/01/2007 40
Open Standards, Open Source
the University of Greenwich
Literal Open Source
• Java• .NET framework is largely open source
• Shared Source Common Language Infrastructure 1.0 Release
http://tinyurl.com/9onm
• Is it more important to be Open (visible) or Open (free speech) or Open (free beer)?
• Where does Mono stand http://www.go-mono.com/
• Dot Netters develop the Open Source habit• Nant• NUnit• NGen (native images from a managed assembly)
A.R.B. K.M. 23/01/2007 41
Open Standards, Open Source
the University of Greenwich
The Problems• Quick releases• Turbulent architecture• Low rent focus
• MySQL transactions
• Scripts not Windows• User facing disaster
• Munich
• Save £10 on purchase, spend £10 on productivity
• Given with the advantages of FOSS the above may simply be sour grapes
http://www.wired.com/news/infostructure/0,1377,62236,00.html?tw=wn_tophead_6
A.R.B. K.M. 23/01/2007 42
Open Standards, Open Source
the University of Greenwich
A New Hope
Nir Kshetri, 'Economics of Linux Adoption in Developing Countries' IEEE Software (2004)
A.R.B. K.M. 23/01/2007 43
Open Standards, Open Source
the University of Greenwich
Resources - Standards
Standards Bodies• ISO (International Organisation for Standardization)
http://www.iso.ch/•Includes Open Systems Interconnection (OSI ) – •Remember the 7 Layer OSI reference model
• ECMA (European Computer Manufacturers Association)•JavaScripthttp://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf
•C# Language Specificationhttp://www.ecma-international.org/publications/standards/Ecma-334.htm
• ANSI (American National Standards Institute)http://web.ansi.org/
A.R.B. K.M. 23/01/2007 44
Open Standards, Open Source
the University of Greenwich
Resources - Standards• Standards bodies
• IEEE (Institute of Electrical and Electronics Engineers)http://standards.ieee.org/
• The World Wide Web Consortiumhttp://www.w3c.org
• The Internet Engineering Task Forcehttp://www.ietf.org/
• Object management Grouphttp://www.omg.org/uml/
• OASIS (Organization for the Advancement of Structured Information Standards)
http://www.oasis-open.org/home/index.php
A.R.B. K.M. 23/01/2007 45
Open Standards, Open Source
the University of Greenwich
Resources - Open Source
• Open Source Initiative http://www.opensource.org
• home of the Open Source Definitionhttp://www.opensource.org/docs/
definition_plain.html
• Free Software Foundation • home of Gnu
http://www.fsf.org/
A.R.B. K.M. 23/01/2007 46
Open Standards, Open Source
the University of Greenwich
Resources - The Big Guns• Linux
http://www.linux.org/
http://www.osdl.org/
• Apache• (Webserver, Tomcat, Ant, Coocoon, Struts…)
http://www.apache.org/
http://jakarta.apache.org/
• MySQLhttp://www.mysql.com/
• PostgreSQLhttp://www.postgresql.org/
• Perlhttp://perl.apache.org/
A.R.B. K.M. 23/01/2007 47
Open Standards, Open Source
the University of Greenwich
Resources - The Vendors
• IBMhttp://www-128.ibm.com/developerworks/opensource
• Sunhttp://www.sunsource.net/
http://www.opensolaris.org/os/
• HPhttp://opensource.hp.com/
• Novellhttp://www.novell.com/offices/opensourcecenter.htm
• M$http://www.microsoft.com/resources/sharedsource/default.mspx
A.R.B. K.M. 23/01/2007 48
Open Standards, Open Source
the University of Greenwich
Resources - Up and coming• JBoss (J2EE application server)
http://www.jboss.org/index.html
• Jabber (point to point XML comms)
http://www.jabber.org/
• Eclipse (IDE – Oops! Application framework)
http://www.eclipse.org/
• Zope (CMS & Portal)
http://www.zope.org/
• Gump (Integration management & versioning)
http://jakarta.apache.org/gump/
A.R.B. K.M. 23/01/2007 49
Open Standards, Open Source
the University of Greenwich
ResourcesFind Open Source Software or create Open Source projects
http://sourceforge.net/http://freshmeat.net/http://www.tigris.org/
A notional C# example – an OS environment for C# and (yuk) VB.Net
http://www.icsharpcode.net/OpenSource/SD/
And don’t forget - O'Reilly
http://tim.oreilly.com/opensource/index.cspOpen Sources: Voices from the Open Source Revolution
http://www.oreilly.com/catalog/opensources/book/toc.htmlThe Cathedral and the Bazaar, by Eric S. Raymond
http://www.catb.org/~esr/writings/cathedral-bazaar/
A.R.B. K.M. 23/01/2007 50
Open Standards, Open Source
the University of Greenwich
What we looked at today
• Open Standards• Some examples• The meaning of a standard• What you gain• What you lose
• Open Source• How it all began & where we are today• What is Open Source?• Who owns Opens Source?• Can Open Source stop you know who?• Weaknesses of Open Source