開放原始碼 ch1.1 intro - oss (ver 1.0)
TRANSCRIPT
O P E N S O U RC E S O FT WA R E
專案管理軟體–管理與實務 (開放原始碼)
– OSS Introduction (1)
CH 1
2
OBJECTIVES
• Understanding Present Business Competition• Why should we pay attention to OSS ?
• Understanding Open Source Software• Definitions and Principles• Application Categories
• Understanding how companies use IT/IS nowadays• Integration levels
3
OUTLINE
• i-Business and i-Company
• OSS definition and principles
• OSS application Categories
• Back to Business• Organizational IT/IS Adoption and Application
• Cases• Eclipse, Netbeans, Monodevelop
• Applications
4
I-BUSINESS AND I-COMPANY1
• Resource Based View (資源基礎觀點)• 稀少、不可取代、難以模仿、價值創造
• Firm-specific capability• Business process, IT/IS, ERP agility
• IT/IS: critical resource != 競爭優勢• Routine operation• Business process• Marketing promotion• Customer relationship maintenance• Business strategy planning
5
I-BUSINESS AND I-COMPANY2
• 取得 IT/IS• In-house development (昂貴、長開發時間)• Commercial proprietary software/systems (昂貴、無法任意修改)• Open Source Software
• Open Source Software• 使用者可以自由、獨立與沒有分別地使用軟體與其原始碼• 軟體授權下允許的再使用:使用者取得並自由修改原始碼與功能的特
性
將有助於企業的 IT 部門或專員,針對商業需求進行軟體功能的調整或新增,大幅縮短內部重新自行發展軟體的時程與投資。
風險呢? 授權條款、 IT 維運能力
6
INTRODUCTION TO OSS
7
OSS DEFINITION AND PRINCIPLES1
• 開放原始碼軟體之使用與修改受到該軟體所依附之授權條款( open source license )而有所不同與限制• GPL• Apache, BSD
• Open Source Initiative (1998)• http://www.opensource.org/• Open Source Definitions (OSD)• http://www.opensource.org/osd.html
• Open source licenses• http://www.opensource.org/licenses/index.html
8
OSS DEFINITION AND PRINCIPLES2
• 自由再散佈 Free Redistribution (of the software)
• 根據 OSS 的授權條款,可讓使用者免費取得、自由使用並重新再散佈(以其他程式 package 的形式),不需知會原始所有者。此外,該軟體所有人亦不得要求費用(可要求必要成本,如:光碟壓制、運送)。此原則為 OSS 之關鍵基礎,唯有此項原則成立, OSS 的自由使用才有法律效力。
9
OSS DEFINITION AND PRINCIPLES3
• 原始碼 (Access to) Source Code
• 屬於 OSS 的程式都需公開其原始碼,不得是任何編譯後的中介檔,或僅提供最終二進位碼。原始碼可以選擇是否隨最終程式散佈,但皆必須提供便於取得之方式。此原可確保開放原始碼軟體具有可取得之特性(內容可讀性)
• 值得注意的是,根據授權條款此原則僅套用於 OSS 本身,並不影響僅使用 OSS (無修改其原始碼)的後續軟體應用。
10
OSS DEFINITION AND PRINCIPLES4
• 衍生著作 (Allow modifications and) derived Works
• 此項原則指出 OSS 之授權條款必須允許使用者可修改其原始碼,此外,經修改後的 OSS 必須遵循原有授權方式進行再散佈。
• 許多授權條款在此原則上差異甚大,例如: GPL v1 的授權要求修改後程式,依循原始 GPL v1 ,必須進行完整公開(不論使用或修改的比例多寡); Apache 授權則允許受修改之 OSS ,依循原始 Apache 授權,修改者(例如:企業的 IT 人員)可保留是否公開原始碼的權力。
• 此項原則成為使用者使用或修改 OSS 必須特別仔細注意該軟體之授權,當心違反了條款內容,也成為該 OSS 是否具有商用潛力的關鍵,例如:EPL 則十分適合商業用途。
• 第二、三項原則確保了 OSS 的軟體可讀性與可修改的性質,可加速軟體本身的進步與發展( evolution )。
11
OSS DEFINITION AND PRINCIPLES5
• 原創作者程式原始碼的完整性 Integrity of The Author's Source Code
• 此原則指出, OSS 之授權可要求原始者程式碼的完整性,但必須允許其他使用者以修正檔( patch files )的方式對該 OSS 進行修改並加入散佈的程式包裹( package )。依循此原則, OSS之授權條款亦可要求受到修改後的 OSS 成果( i.e., derived works )冠以不同名稱或版本而與原始版本做區別。此原則可確保並區分各程式開發者之責任與評價。
12
OSS DEFINITION AND PRINCIPLES6
• 不得對任何人或團體有差別待遇 No Discrimination Against Persons or Groups
• 歸屬 OSS 的軟體其授權條款不得限制使用者或使用團體。然而,某些國家(如:美國)當地法律有軟體輸出限制,授權條款可提醒使用者有此限制存在,但條款本身不得具有該種限制。
13
OSS DEFINITION AND PRINCIPLES7
• 對程式在任何領域內的利用不得有差別待遇 No Discrimination Against Fields of Endeavor
• 歸屬 OSS 的軟體其授權條款不得限制使用該軟體的領域,例如:限制商用或用於基因研究。值得注意的是, OSS 的授權條款本身並不排斥商業用途,但某些授權使用規定(如: GPL v1 要求開放所有原始碼),則可能降低或限制了最終產品之可商用潛力。
14
OSS DEFINITION AND PRINCIPLES8
• 散佈授權條款 Distribution of license
• OSS 之軟體授權協議隨著 OSS 散佈適用至收到程式的所有使用者,無論僅使用或修改後使用,都不得變更該 OSS 之原始授權協議。
• 一旦使用了某個 OSS 則等同於接受了該 OSS 所採用的授權條款。這項協議確保了使用者對於 OSS 的使用或修改皆無法變動原始授權,然而也由於授權無法變更,使用者必須接受授權協議所明定的條文,因此可能影響最終的商用潛力,例如:採用 GPL v1 之OSS規定衍生程式皆需公開且不得營利。
15
OSS DEFINITION AND PRINCIPLES9
• 授權條款不得專屬於特定產品 License Must Not Be Specific to a Product
• 意指個別 OSS 的授權協議並非限定於整體產品之授權條款。即使從一個程式套裝包裹( program package )中抽取或散佈部分OSS 程式碼片段、函式庫等,採用者(即:程式接收者)皆需遵守該 OSS 所採用之授權條款(並獲得特定權力)。
16
OSS DEFINITION AND PRINCIPLES10
• 授權條款不得限制其他軟體 License Must Not Restrict Other Software
• OSS 本身的授權條款僅適用於該 OSS ,不得影響與限制其他一同散佈軟體之授權條款。
17
OSS DEFINITION AND PRINCIPLES11
• 授權條款必須技術中立 License Must Be Technology-Neutral
• OSS 之授權條款必須技術中立,不得限制或偏好特定方式以取得OSS 原始碼,必須提供便利的取得方式(例如:不能限制僅能以透過圖型化介面的方式來取得軟體),此項原則確保了 OSS 的散佈特性。
18
OSS DEFINITION AND PRINCIPLES12
• 僅使用 OSS 進行衍生程式開發,較不會產生使用爭議,依循授權協議使用者可以自由使用、散佈、整合其他程式而進行販售,但須注意是否檢附 OSS 原始碼。
• 若涉及修改任何 OSS 原始碼,則衍生產品皆需遵守原始授權協議,而注意是否需釋放修改的程式碼,進而影響商業用途,例如: BSD 授權適合商用、 GPL 則不合適商用(需公開程式碼、不得獲利)、 LGPL 則是修改後的 GPL適合商用。
19
OSS DEFINITION AND PRINCIPLES13
• 課後閱讀
• 開放源碼定義與開放源碼促進會http://www.openfoundry.org/tw/basic-concepts/1447-2010-07-13-09-57-12
•GPL (GNU General Public License)• GPL 條款對於衍生程式的判定標準與其授權拘束性的擴散範圍(上)
http://www.openfoundry.org/tw/legal-column-list/8446-the-license-inheritance-bounds-of-gnu-gpl-01
• GPL 條款對於衍生程式的判定標準與其授權拘束性的擴散範圍(下)• http://www.openfoundry.org/tw/legal-column-list/8447-the-license
-inheritance-bounds-of-gnu-gpl-02
20
OSS APPLICATION CATEGORIES
( 1 ) OSS 應用確實廣泛遍及於各產業及領域,並具有不同 IT/IS層級的應用可能性;( 2 )相同的 OSS 應用對應不同企業之產業特性,可能產生不同程度的採用與使用。
( Aksulu & Wade, 2010 )
21
ORGANIZATIONAL IT/IS
ADOPTION AND APPLICATION
22
ORGANIZATIONAL IT/IS ADOPTION AND APPLICATION1
因素
科技( Technology )
組織( Organization )
Environment (環境)
可能觀察特徵
• 相對優勢• 相容性• 複雜性• 可試用性• 可觀察性
• 溝通管理機制• 資源(含:非 IT 之互補性資源,財務與人資)
• 組織創新性(高階主管思維)
• 外部支援可取得性( OSS 之第三方顧問)
• 產業特性(變動速度)
• 上下游關係(供應商、客戶)
• 產業生命階段(草創、發產、成熟、衰退)DePietro, Wiarda and Fleidcher, 1990
23
ORGANIZATIONAL IT/IS ADOPTION AND APPLICATION2
• 策略管理層級• 高階主管支援系統 (executive
supporting systems, ESS)
• 管理控制層級• 管理資訊系統 (management
information systems, MIS)• 決策支援系統 (decision support
systems, DSS)
• 資訊工作層級• 知識工作系統 (knowledge work
systems, KWS)• 辦公室系統 (office systems, OS)
• 作業處理層級• 交易處理系統 (transaction process
systems, TPS)
經由此種階層式的架構,可進一步檢視企業所採用之 OSS 應用,屬於何種深度的 IT/IS採用與使用
24
ORGANIZATIONAL IT/IS ADOPTION AND APPLICATION2
• 組織規模• 1. 大型企業相較於中小企業:更制度化與完善之溝桶管理機制、更充足之財務或 IT 專業人力;大型企業追求穩定性的考量下,採用OSS 應用似乎也更須考量額外之風險• 自行開發?• 買入現有?• 選用 OSS ?
• 2. IT 專責人員缺乏的中小企業, OSS幾乎免費,較商業軟體,取得容易;但 IT 人員不足無法進行原始碼修改,可能難以獲得 OSS 應用之科技相對優勢與相容性• 自行開發?• 買入現有?• 選用 OSS ?
25
CASES
26
CASES1
• IDEs (software development)• Eclipse• Netbeans• MonDvelop
27
ECLIPSE
28
ECLIPSE
• Eclipse RCP• Rich Client Platform
• Eclipse Based Product• MyEclipse• iReport• Aptana Studio• BIRT• JBuilder
• 基於 RCP 延伸開發加值系統• 減少基礎開發成本• 豐富的開發支援與穩定平台
29
NETBEANS
30
NETBEANS
• Rich Client Platform• iReport• Export to PDF, XHTML, OpenOffice, MS Word, MS Excel, XML,
Text, and many more.
http://jasperforge.org/website/ireportwebsite/IR%20Website/ir_features.html?header=project&target=ireport
31
MONODEVELOP
32
MONODEVELOP
• designed for C# and other .NET languages
• http://monodevelop.com/Screenshots
33
APPLICATIONS
• App-Stick• http://www.app-stick.com/• Portable App
• Portableapps• http://portableapps.com/
• TTCS OSSWIN CD• http://www.ttcsweb.org/osswin-cd/• The TTCS OSSWIN CD is a collection of over 100 Free and
Open Source Software for home and business (i.e. any) users using the Microsoft Windows 7/Vista/XP/2000 operating systems.