Upload
maximillian-bates
View
230
Download
0
Embed Size (px)
Citation preview
1
A Software Developer’s Viewof Open Source
Ray Cheng, Ph.D.
CTO, 敦陽科技
2
Agenda• A Quick Introduction of Open Source Software• Obstacles to Acceptance• Case Studies• Development Process• Business Model• Engaging Open Source Software from Taiwan• Stark Technology, Inc. and its Business
3
Free Software & Open Source Software (1)
• Software created by a development community rather than a vendor.
• Richard Stallman started Free Software Foundation, GNU project in 1984.
• RMS released GNU Public License in 1989.
4
5
Free Software vs. Open Source Software (2)
• Freeware leaders met in Apr, 1989– Tim O’Reilly, Larry Wall (Perl), Brian Behlend
orf (Apache), Linus Torvalds, Eric Allman (sendmail), Guido van Rossum (Python) Phil Zimmerman (PGP) Eric Raymond, Paul Vixie (bind), Jamie Zawinski (Netscape)
– “Free” software was causing confusion, so developers took a vote on the name.
• Birth of “Open Source Software”
6
Freedom of Open Source Software
• Free redistribution – for free or at a charge• Source code must be made available.• Copyright and trademark• Reciprocity – mutual exchange of favor,
privileges, or rights– Applied to modify/improve, not applied to use
• GPL, LGPL, BSD License, Apache License• Dual Licensing
7
How is Open Source Software used?
8
How does a company select software?
• Product itself– Functionality, reliabliltiy, performance, etc.
• Services and Support– Solution architecture, sizing, deployment, bug
fixes, customer support, training, PS
• Cost• Roadmap• Risks
– Vendor’s stability, reputation
9
How does an Enterprise use Open Source Software?
• Build proprietary infrastructure and provide services on top of open source platforms.
• Use open source software to add values to their products.
• Business shouldn’t use OSS simply because it is open source, they should use it because it is the best solution.
10
How does an OSS become popular?
• Useful
• Sound architecture and solid implementation
• Superb maintainer/leader(s)
• A large pool of community users and contributors
• Published books (The Complete Idiot’s Guide to …)
11
Obstacles to the Acceptance of Open Source Software
12
“Nobody ever got fired for buying IBM”
• CIOs in larger companies prefer to buy only from big, established vendors.
• Top 2% of global 2000 companies contribute about 60% of IT spending.
• Conservatism is the order of the day.
• “How do I know the future of small companies? I don’t!”
13
System Integrator’s Paradox in Taiwan
• System integrators get profit margins by selling commercial software.
• Cost of professional services are sometimes hidden in the product.
• Customers think OSS is free and are not ready to pay adequate fees for services.
• How can system integrators get similar profit margins from proposing OSS?– They can’t! Not until users understand the value of
services.
14
Case Studies of a few Open Source Software
15
Cast Study: Apache HTTP Server (1)
• First version was created by Rob McCool while was an undergraduate student at NSCA, University of Illinois.
• A group of web masters continued the work and put together materials to a consolidated patch.
• A patchy web server evolved into Apache.
16
Cast Study: Apache HTTP Server (2)
• Apache 1.0, released on Dec. 1, 1995, was the only open source alternative to the Netscape web server.
• Became the most popular web server on Internet since April, 1996.
• Was serving 57% of all websites by May, 1999; 68% of all websites in Feb, 2006.
• A trademark of Apache Software Foundation.
17
Case study: Perl
• Larry Wall wrote the first Perl while worked in JPL.
• Larry said the trademark should belong to the public didn’t apply for trademark.
• Currently maintained by The Perl Foundation.
18
Case Study: MySQL• Created and owned by MySQL AB since 1995.• Available with dual license: GPL license or
commercial license• MySQL AB, a Swedish company, has 320
employees in June, 2006• MySQL AB offers supports, including 24/7 30-
minute time support, and PS including consulting, managed hosting, and training to Google, Siemens, NASA, TI, etc.
19
Case Study: Berkeley DB
• Berkeley DB was developed for BSD 4.4.
• Netscape asked the authors to extend BDB for its LDAP server.
• Sleepycat Software was founded in 1996.
• Over 200 million deployments
• Business model is technical support, consulting, and training.
• Acquired by Oracle in Feb. 2006
20
Case Study: JBoss (1)• Marc Fleury started JBoss in 1999.• Marc started JBoss Group LLC in 2001,
JBoss Inc. in 2004.• JBoss Inc., with a $10 million venture
investment, was mostly owned by Marc.• In 2006 Oracle offered to buy JBoss, Inc
for $400 million. However, Marc decided to sell JBoss Inc. to Red Hat for $350 million in April 2006.
21
Case Study: JBoss (2)• JBoss Inc. profits from service-based business
model, while the product is developed by a wide network of programmers.
• Technical Support customers:– Architect/Development Manager – 45%– Developer – 25%– System Admin/IT Support/IT Operations – 16%
• Trademark owned by JBoss, Inc.– “This is open source, not open brand”
22
Case Study: GCC• GNU C Compiler was written by Richard
Stallman in 1987 as one of the first “free software”.
• In 1997 a group of developers forked from GCC and started EGCS.
• EGCS were more acceptable than GCC.• In April 1999, EGCS was blessed as the
official GCC, which later was named GNU Compiler Collection.
23
Open Source Software Development Process
24
Lifecycle of Open Source Software (1)
• Start from a single user/developer or a group of developers at a BOF (Birds of a Feather).
• Design and develop into a useable open source software.
• Users begin to use and contribute to this software while maintainer(s) assures quality and architecture.
25
Lifecycle of Open Source Software (2)
• Possible outcome:– Maintainer may pass the torch to another person.– Needs and interests may go down and this open
source software disappears.– Commercial companies may be formed to provide
technical support, PS, consulting, training, etc.– Commercial companies may be profitable and
survive.– Commercial companies may be acquired or go public.
26
Comparison between commercial software and OSS
(1)beginning market needs personal needs
start from … scratch, copyright concerns
other open source code
team build-up qualified employees
qualified volunteers
management manager maintainer
technical lead project leader / architect
maintainer
27
Comparison between commercial software and OSS
(2)team size reasonable 10+ or 100+ larg
er
design review by development group
by larger group
code review maybe not very thorough
very thorough
documentation technical writers volunteers
published books sometimes sometimes
28
Comparison between commercial software and OSS
(3)releases medium to slow fast to very fast
tests In-house, selected customers
10 to 1,000 larger testers
services dependable it depends
support dependable it depends
source code highly guarded trade secret
open
29
Comparison between commercial software and OSS
(4)roadmap usually clear it varies
bug fix medium fast, can be done by user
software quality
usually good can be very good
developers entry-level to expert-level; maybe open-minded
get “reputation” first; usually open-minded
30
Community
• Community and the value of community
• Attracting people who are really passionate about the technology and the product, not just money.
• Enthusiasm is usually one major difference between open source software and proprietary software
31
Root of OSS’ success
• Open source doesn’t improve by advocacy, mindshare, or by having 10 million users, it improves by the participation and contribution from the user community.
--- from Apache Jakarta site
32
Major motives of voluntary works in Open Source Software
• A direct need as a user for the software and software improvements
• Enjoyment of the work itself
• Improvement of programming skills
• Reputation of making high-quality contribution
• Altruism, …
33
Can Open Source Software be better than commercial
software?• Maintainer/architect controls or guards
contributions.• Low tolerance to poor contributions helps
to keep best of talent.• Global talent pool• Rapid development and fast release
cycles• “Given enough eyeballs, all bugs are
shallow”.
34
Is commercial software not as good as OSS?
• Is Solaris/AIX/HPUX not as good as Linux?• Is WebLogic or WebSphere not as good as
JBoss?• However, there are certainly areas commercial
software development can learn from OSS– Low tolerance to poor contribution– Rapid development and test cycles– Test methodology to compensate for not having “as
many eyeballs”
35
Is large number of programmers good or bad for a project?
• Brooks’ Law– Adding people to a late software project
makes it later.
• Eric Raymond / Linus Torvalds– Given enough eyeballs, all bugs are shallow.
36
Does Open Source guarantee success?
• There are definitely unsuccessful open source projects. (We don’t see baby pigeons, but they are there.)
• Open Source is not a “magic pixie dust”.– Netscape made Mozilla open source in Feb,
1998– Jamie Zawinski resigned from Netscape and
Mozilla in Apr, 1999 and made the above statement with “Excuses” of the “failure” of this open source project.
37
Follow-up n Mozilla• However, a Mozilla browser, later named
Firefox, did make it an open source success story after all, after problems (excuses mentioned by Jamie Zawinski) have been fixes.
• It had 200 million downloads since Nov 2004.• Captured 10% of the browser market in mid-
2005, 12% of the market in July 2006.• IE7 has 14.8MB, Firefox 2.0 has 5.4MB.
38
Business Model
39
Open Source Business Model (1)
• Clear with core business– Who are our customers?– What value are you delivering to them?
• Commercial software with OSS– Netscape LDAP server on Berkeley DB
• Support and Services for OSS– MySQL AB, JBoss Inc.
40
Open Source Business Model (2)
• Package and distribute OSS– Red Hat, Debian, etc.
• Enhance and support OSS– Covalent Technologies support Apache
• Enhance OSS in-house to compete better– Amazon.com, Google, Yahoo, Motorola
• Selling commercial software with dual-license– (Oracle) Sleepycat
41
Open Source Business Model (3)
• JBoss claims “competitive differentiation” in services against IBM, BEA, Oracle– Understanding customers’ needs– Meeting SLAs (Service Level Agreements)– Knowledge transfer– Competitive pricing– Value in services and support– Product knowledge– Customer loyalty
42
Possible OSS Business Model in Taiwan
• Package and distribute Chinese version OSS, possibly with hardware vendors.
• Provide training, technical support and professional services of OSS to Taiwan enterprise users– Apache HTTP server, Berkeley DB, MySQL, JBoss,
security tools, workflow, etc.– Become a partner of foreign OSS service vendors– Partner with Taiwan system integrators
43
Engaging Open Source Software from Taiwan
44
Promoting OSS in Taiwan
• Government procurement• Grants or fund to small OSS companies
and individuals encourage developers joining OSS communities
• Universities – Computer centers encourage assistants work
on OSS– Use OSS as teaching tool– Combines OSS with research topics
45
How to get involved as a user?
• Join Mailing lists
• Download binary builds
• Report bugs and request additional features
46
How to become familiar with an OSS product?
• Read guidelines.
• Review reference library or design documents.
• Download the source code.
• Access source tree (e.g. CVS).
• Ask questions.
• Make contributions.
47
How to become a core contributor? (1)
• You see something that you think should be added
• Investigate and get familiar with existing code• Ask "how does this work" type questions on
the developer list.• Ask a "what would you think if we did this?"
question on the developer list• Contribute to the discussion of these ideas
48
How to become a core contributor? (2)
• Propose a patch, or a new chunk of code that gets accepted into the code base
• Iterate the above a few times
• Get nominated for committer status and voted on by the developer community
49
How to lead an OSS project?
• Qualification of a project leader/maintainer/gatekeeper/coordinator– Software engineer discipline– Very good coder– Brilliant design ideas– Ability to recognize good design ideas– Leadership– Good people and communication skills
50
敦 陽 科 技
51
Some Personal Experiences
• IU – my first assignment
• UI – general exam and qualifying exam
• Xerox PARC – programming skills, facilities, people
• HP Labs – network protocols
• Sun – Unix internal, HKSB, DoCoMo
52
敦陽科技簡介• 公司簡介
– 成立日期 : 1993 年 4 月– 2000 年 1 月上櫃 ,2001 年 9 月上市
• 營運狀況– 營業額 : 新台幣 50 餘億元– 員工人數 : 550 人
• 專業服務團隊: 120 人 • 工程服務團隊: 150 人
– 公司據點• 新竹總公司、台北營運中心、花蓮、桃中、台中、嘉義、台南、高雄辦事處
• 上海,蘇州,昆山,寧波,廣州,美西• 資本額
– 22 億元新台幣
53
營業項目提供資訊基礎架構之規劃軟體系統開發與整合
包含超級電腦、高階伺服器、工作站、個人電腦、系統安全及週邊如列印裝置、顯示裝置、儲存系統、備份系統等。 包含網路主機、無線 /區域 /廣域 /都會網路之規劃及電話語音之整合、網路安全、網路 /頻寬管理軟體等。 包含電子商務 (B2B) 、入口網站 (Portal) 、知識管理、內容管理、商業流程管理 (BPM) 、企業軟體整合 (EAI) 、自動化軟體、產品生命週期管理 (PLM) 、系統管理、網際網路應用等。
54
工作重點及發展方向提供客戶全面性之資源管理平台開發整合資源管理平台上之加值系統與服務協助客戶資訊化及自動化專業軟體專案開發及專業 IT 顧問諮詢服務建立更完整的行銷服務網
收集需求
分析需求
設計系統
發現問題
上線使用維護系統
55
中壢辦事處台北營運總部
台南辦事處
嘉義辦事處
台中辦事處
新竹總部
國內的客戶服務網全省設有八個服務據點
高雄辦事處
花蓮辦事處
56
BU 7BU 6 BU 8BU 2BU 1
SS 1 SS 2 PS 1 PS 2 MKT
顧客
業務團隊
服務工廠
P.O.
生產訂單
57
敦陽科技各事業群專注主要產業
第二事業群
第六事業群
第七事業群
第八事業群
•高科技電子業•教育•竹科 ,桃中辦事處
•製造業•金融業•工商業•醫療•教育
•政府•國防•東部 ,南部辦事處•醫療•教育
•電信業
STI
第一事業群•金融業•光電業•汽車業•中部辦事處
58
敦陽科技 Support Services 服務群
企業加值暨維護服務企業加值
暨維護服務
Major Functions
Infra. Design Implementation After service User’s training
企業加值暨維護服務一群 (SS1)企業加值暨維護服務一群 (SS1)
企業加值暨維護服務二群 (SS2)企業加值暨維護服務二群 (SS2)
Infrastructure
G1 : Network/Security & Management
G2 : Data Management G3 : Platform Integration &
Management
InfrastructureInfrastructure
59
Professional Services 服務群企業應用暨
軟體服務一群企業應用暨軟體服務一群
J2EE, Portal, KM, BPM Mfg : ERP, PLM, CIM,
MES
企業應用暨軟體服務一群 (PS1)企業應用暨軟體服務一群 (PS1)
企業應用暨軟體服務二群 (PS2)企業應用暨軟體服務二群 (PS2)Solution &
ApplicationSolution &Application
J2EE, Portal, KM, BPM Telco : SDMP, User’s Portal, Push Mail, 3G NM, NGIN Fin : Core Banking, Foreign Exchange, 智慧型分行端末系統 , 印鑑系統 , 期貨交易系統 Gov : G2B2C, Mini 服務平台 , 公文交換及管理 Edu : 校務行政 , e- Learning
PS1 Focus PS2 Focus
60
系統整合公司的運作
業務 (Sales)業務支援 (Pre-sales Support)產品支援 (Product Management)軟體開發 (Software Development)專業服務 (Professional Services) 維修服務 (Support and Services)
61
銷售 SI Solution ( 代理產品 ,自有產品 ,專業服務 ,維修服務 ,3rd Party)客戶服務Trusted Advisor
系統試用 競爭分析
參觀用戶
提建議書
系統展示
產品簡報介紹公司及產品
找到關鍵人
接觸
Selling Cycle成交
議價
62
業務工作的階段
1. 推銷
4. 備貨
3. 成交
2. 接近成交
Time
7. 服務6. 安裝
8.新商機5. 軟體建置
63
敦陽自行研發的應用軟體 合作伙伴的應用軟體
製造業Portal, ERP, K-Pro, MailogCIM/MES, PLM, EAI, DR, IT Security,PMS
金融業Portal, ERP, K-Pro, Mailog, EAI,DR, eBusiness, IT Security, Futures, Securities, Banking Branch Automation
電信業 Portal, K-Pro, Mailog, IT Security, DR, CPP
政府單位 Portal, K-Pro, Mailog, Government Document System
教育機構 Mailog, Portal
敦陽科技的 Solutions 與專業服務提供完整的解決方案發揮客戶應用 IT 的最大價值
NCS
64
敦陽科技的競爭優勢G1
Network/Security Management
G2Data Management
G3Platform Integration
& Management
+Professional Service
Consultant / Analysis / Solution Design / POC / ImplementationProfessional Service
Consultant / Analysis / Solution Design / POC / Implementation
Solution Solution SellingSelling
Feasibility Study
Awareness
Planning
Implementation
After Care
架構與流程分析
教育訓練
作業職掌與流程規劃
輔助工具與作業導入
作業檢視與調整建議
• Primary Array• Mirrored, remote replicated• Snapshots
•Near line storage•Raid 5 protection•Tape backup
Windows
UNIX
Oracle
NTLinux
SolarisAIX
SQL DB2
65
資淺人員 有經驗人員 資深人員 主管業務 業務代表 業務專員
業務經理資深業務經理經理
協理 副總經理
軟體開發 程式設計師分析設計師
系統分析師專案經理
資深專案經理經理
協理副總經理
業務支援 專案經理Specialist
顧問 經理 , 協理
產品經理 產品主任產品企劃
產品經理經理
協理副總經理
維修服務 工程師 主任工程師 工程經理經理
協理副總經理
專業服務 顧問 Architect
協理副總經理
66
資淺人員 有經驗人員 資深人員 主管業務 業務代表 業務專員
業務經理資深業務經理經理
協理 副總經理
軟體開發 程式設計師分析設計師
系統分析師專案經理
資深專案經理經理
協理副總經理
業務支援 專案經理Specialist
顧問 經理 , 協理
產品經理 產品主任產品企劃
產品經理經理
協理副總經理
維修服務 工程師 主任工程師 工程經理經理
協理副總經理
專業服務 顧問 Architect
協理副總經理
67
Q & A
— 問題與討論 —
Thank you
— 問題與討論 —
Thank you