How to Troubleshoot Apps for the Modern Connected Worker
Start your open source project
1. Start your open source
project
● Ahmed Medhat Osman
● a.medhat.cs@gmail.com
● Software freedom day (Alexandria University)
● August 2010
2. Outlines
● Introduction
● Brif History of open source software
● The cost of open source
● Barriers to open source adoption
● Open source licensing overview
● How to contribute in OSS
● How to start OSS
3. Introduction
● Open Source vs. Free Software
● Many people do not understand the definition of open source
● There is no such thing as free software
● Benefits of Open Source
● The potential for cost savings is the number one
motivation to use enterprise open source software
– Software license costs is the most likely component where
savings will occur
– Cost savings in general are difficult to calculate
4. Introduction (cont.)
● Benefits of Open Source
● Flexibility often turns out to be the most beneficial
result of using open source software
● Enterprise open source software has cost the
proprietary software industry an estimated $60
billion per year
● Many organizations do not have a formal process in
place to do a comprehensive financial analysis of
software commitments
5. History
● The idea of open source or free software has a
rich history that began in the 1960s
● 1969 - ARPANET - Advanced Research
Projects Agency Network
● First operational packet switching network
● Predecessor of the Internet
● 1970s – Email (SMTP), File Transfer Protocol,
Network Voice Protocol (NVP) standards
developed
6. History (cont.)
● 1985 – Free Software Foundation – Richard
Stallman
● Universal freedom to distribute and modify
computer software without restriction
● Founded to support the free software movement
● Enforcement of the General Public License
● 1992 – Linux kernel released under GPL –
Linus Torvalds
7. History (cont.)
● 1998 - Open Source Initiative (OSI) – Bruce
Perens and Eric Raymond
● Formalized open source software and brought the
model to major software companies
● Formulated the Open Source Definition to
determine which licenses are actually “open source”
licenses
● 1998 – Netscape Navigator releases source
code
● known today as Firefox and Thunderbird
● 1999 – Sun Microsystems releases StarOffice
under GPL
● later renamed OpenOffice
8. The cost of open source
● “Open source” is not free
● Many open source software licenses are free,
but some licenses have costs associated with
them
● Many mature open source projects, especially
operating systems, earn money from paid
support and documentation
9. There are many different types of hard costs
associated with leveraging open source software
for enterprise IT projects
● Software Licenses
● Referring to the licenses themselves, not legal terms and
conditions
● Often offers the most potential cost savings vs. proprietary
software
● Hardware
● Open source software often has reduced hardware
requirements
● Support
● Often more but less mature options for support in open
source projects
10. Open source costs (cont.)
● Development
● Access to source code can help make development easier
and less costly
● Lack of feature parity with proprietary software may create a
need for more custom development
● Opportunity to give source code back to the open source
community
● Professional Services
● Development, installation, and configuration costs
● Offered by many open source software vendors
11. Open source hard costs (cont.)
● Training
● Offered directly by software vendor
● Through a professional training center or educational
institution
● On-site or off-site, or online
● Testing
● Unit testing, performance testing, functional testing, test
scripts, use-case scenarios, quality assurance costs
● Staffing
● No conclusive evidence to show that staffing open source
projects is cheaper than for proprietary projects
12. Open source hard costs (cont.)
● Operations (Manageability)
● Mix of labor, management and monitoring tools
configuration, creation of manuals to support operations
● Open source tends to have less mature management
capabilities
● Maintenance Contracts
● 15-25 percent of the license costs or equipment costs per
year.
● Calculated using the list price, not the actual paid price
● Treated separate from support contracts in many open
source projects
● Costs associated with patching and updating software over
time
● Often free with most zero-cost open source software
licenses
13. Open source hard costs (cont.)
● Migration
● Especially for system replacement projects where existing
data must be migrated to the new application
● Environmental
● Datacenter and hosting costs, floor space, power,
bandwidth, hardware leasing
● Documentation
● Often coincides with the training category above
● Configuration
● Often captured with the development and operations
categories
14. Open source soft or intangible costs
● Downtime
● financial impact of system outage
● IP Risk
● Legal/litigation costs
● License Auditing Risk
● Resources required to perform a vendor-required license
audit
● License Management
● Resources required to manage deployment of licenses and
purchase of additional licenses as the deployment grows
● License Negotiation Overhead
● Legal costs required in negotiating the software licensing
contract
15. Open source soft or intangible costs (cont.)
● Planning
● Resources for planning and overhead
● Process Inefficiencies
● Lost time and costs related to process activities
● Procurement Overhead
● Purchase cost and resources required to procure the software
● Productivity
● Efficiencies from using the software
● Reliability
● Financial impact of improved system reliability and uptime
● Support Quality
● Resources required for software support
16. There are a variety of business models that have proven to work for
companies who want to make money using open source software
● Support Sellers (otherwise known as "Give Away the Recipe, Open A
Restaurant"):
● Give away the software product
● Sell distribution, branding, and after-sale service
● This is what RedHat does.
● Loss Leader
● Give away open-source as a loss-leader and market positioner for closed
software.
● Netscape, Digium (Asterisk)
● Widget Frosting
● Hardware company goes open-source in order to get better drivers and interface
tools cheaper.
● Silicon Graphics (Samba), Apple (Darwin)
● Accessorizing
● Selling accessories – books, compatible hardware, complete systems with open-
source software pre-installed
● O'Reilly Associates, OLPC,
source: The Open Source Initiative: http://www.opensource.org/advocacy/case_for_business.php
17. There are many barriers to open source adoption in IT
organizations, most of which are risk related
● Open source licenses are viral
● Open source software lacks formal support and training
● Software changes too often and is difficult to keep up
● Lack of a long term road map
● Sunk costs in existing projects
● Switching costs
● De facto industry standards
18. There are many different open source licenses and it can
be difficult to distinguish one license from another
● Most popular ● MIT License
● GNU General Public License ● Mozilla Public License
● GNU Library or Lesser GPL ● Eclipse Public License
● Apache Software License ● Miscellaneous
● Berkeley Software Distribution ● Adaptive Public License
(BSD)
● Artistic License 2.0
● Special Purpose
● Open Software License
● Educational Community License ● Qt Public License
● NASA Open Source Agreement
1.3
● And many more…
● Open Group Test Suite License
● http://www.opensource.org/license
s/category
● http://en.wikipedia.org/wiki/Compar
ison_of_free_software_licences
19. Open source software licenses can range from very
simple to relatively complex
● Software Licenses
● Cost of the actual license
● Many open source vendors have a dual license model
● Not the legal licensing terms or conditions
● Seen as the greatest potential for savings in an open source project
● Savings on licenses often used to offset training and professional
services costs
● Can include client access licenses, desktop licenses, database license
and development tools
● Based on the number of CPUs or number of users
● Every vendor has their own rules
● Makes calculating project costs difficult
20. Open source software licenses can range from very
simple to relatively complex (cont.)
● Dual license model
● Choose between an open source (free) license or a commercial license that
costs money
● Trolltech Qt Example
● Motivated by market segregation based business models and license
compatibility needs
● Open Core License model
● core is GPL: if you embed the GPL in closed source, you pay a fee
● technical support of GPL product may be offered for a fee (up for debate as to
whether it must be offered)
● annual commercial subscription includes: indemnity, technical support, and
additional features and/or platform support.
● Additional commercial features having viewable or closed source, becoming GPL
after time bomb period are both up for debate
● professional services and training are for a fee
21. Open source software licenses can range from very
simple to relatively complex (cont.)
● Licensing cost comparison works for new
projects, but not necessarily existing projects
● Must be estimated over the life of the project
● Zero cost open source software has caused
proprietary vendors to lower their prices and
this trend will continue
● An estimated $60 billion per year is lost by
proprietary software vendors
22. How to contribute in OSS
● Chose a project
● Organize your ideas
● Spend some time in the projectweb site
● Start with ” about ” page
● Find or ask for newbie documentation
● Look for source code and developer documentation
– Observe how developers use comments
– Review code style/coding guidlines
23. How to contribute in OSS (cont.)
● Mailing lists are critical
● Browse the archive
– You can't read evry thing – search !
● Detrmine the key players
● Asking questions
– write usefaul subject line
– Show you have done your research
– Waite for an answer
24. How to contribute in OSS (cont.)
● Basic netquette
– Chose responseple handel
– Don't use text speak
– Be formal in your first few postes
25. How to contribute in OSS (cont.)
● Learn to love IRC (Internet Relay Chat)
● Read chanel topic
● Observe traffic
● Don't ask to ask
● Wait for answer
26. How to contribute in OSS (cont.)
● You have found your tribe way to get involved
● Check the issue tacker for easy or beginner
bugs
● Submit a patch
27. How to contribute in OSS (cont.)
● Triage bugs
● Answer question in IRC
● Poin people to the right direction
28. But Wait,
I'm Not Technical (Enough)
Free and Open Source Software Needs
All
Kinds of Contributors
29. How to contribute in OSS (cont.)
● For writers
● Documentation
● Press releases and news letters
● For artists
● Logos
● Project Bannares for conferances
● Web design
30.
31. How to contribute in OSS (cont.)
● For Marketers
● Project Presentation
● Collateral: Data Sheets, Project Brochures
● Social Media
● Swag!
● For the Socially Inclined
● For Teachers
● Anyone who can share knowledge well is a teacher.
34. Why Open source
Review by few
Vs
Review by more
More correction and less bugs
35. Why Open source
Closed building with few guards
Vs
Open building with more and more guards
More Security
36. How to start OSS
● You need to have new idea or have another
implemntation for old idea
● factors that affect the success of open source
software projects
● Number of developers
● Experience of developers
● Target users type
● Programming language type
● Software type
● License type
37. Hypotheses
● Hypothesis 1: Number of developers is positively
associated with the success of OSS projects
● Hypothesis 2: Experience of developers is positively
associated with the success of OSS projects
● Hypothesis 3: Targeting developers as users is positively
associated with the success of OSS projects
● Hypothesis 4: Using a commonly used programming
language is positively associated with the success of OSS
projects
● Hypothesis 5: Development of application development
and deployment tools is positively associated with the
success of OSS projects
● Hypothesis 6: Use of non-restrictive OSS licenses is
positively associated with the success of OSS projects
38. What do you need
● Place to host the project on
● Revision control system
● Issue tracking system
● Continuous integration tools
● Mailing lists and IRC channel
39. Place to host the project on
● Google
● http://code.google.com/
● Sourceforge
● http://sourceforge.net/
● Githup
● https://github.com/
● Gitorious
● http://gitorious.org/