Start your open source project
Upcoming SlideShare
Loading in...5
×
 

Start your open source project

on

  • 2,184 views

Start your open source project

Start your open source project

Statistics

Views

Total Views
2,184
Views on SlideShare
2,177
Embed Views
7

Actions

Likes
1
Downloads
31
Comments
0

2 Embeds 7

http://www.linkedin.com 5
http://www.brijj.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Start your open source project Start your open source project Presentation Transcript

  • Start your open source project ● Ahmed Medhat Osman ● a.medhat.cs@gmail.com ● Software freedom day (Alexandria University) ● August 2010
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • How to contribute in OSS (cont.) ● Basic netquette – Chose responseple handel – Don't use text speak – Be formal in your first few postes
  • 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
  • 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
  • How to contribute in OSS (cont.) ● Triage bugs ● Answer question in IRC ● Poin people to the right direction
  • But Wait, I'm Not Technical (Enough) Free and Open Source Software Needs All Kinds of Contributors
  • How to contribute in OSS (cont.) ● For writers ● Documentation ● Press releases and news letters ● For artists ● Logos ● Project Bannares for conferances ● Web design
  • 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.
  • How to start OSS
  • Why Open source Reinventing the wheel vs Continuous improvment
  • Why Open source Review by few Vs Review by more More correction and less bugs
  • Why Open source Closed building with few guards Vs Open building with more and more guards More Security
  • 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
  • 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
  • What do you need ● Place to host the project on ● Revision control system ● Issue tracking system ● Continuous integration tools ● Mailing lists and IRC channel
  • Place to host the project on ● Google ● http://code.google.com/ ● Sourceforge ● http://sourceforge.net/ ● Githup ● https://github.com/ ● Gitorious ● http://gitorious.org/
  • Revision control system ● Client–server ● CVS ● SVN ● Distributed ● Bazaar ● GIT ● Mercurial
  • Issue tracking system ● Bugzilla ● JIRA ● IBM Rational ClearQuest ● Google Code Hosting ● Zentrack
  • Continuous integration tools ● Apache Gump ● Bamboo ● Hudson ● BuildBot Comparison : http://en.wikipedia.org/wiki/Comparison_of_Continuous_Integration_Software
  • Mailing lists and IRC channel ● Just make a good communication environment
  • Thank you for attending, please let me know if you have any questions For later questions a.medhat.cs@gmail.com