簡介
開源項目,顧名思義,開放式原始碼項目.
相關工作
一談到開源,你或許就聯想到一大堆的開放源碼產品,如果你是程式設計師的話,或許會聯想到 KDE 或者 GNOME 上開發的那些工具。但是,本文要講述的是在 Windows 平台上,遵守業界標準,開發開放源碼的系統。本文介紹了一些十分有用的連線,如果你是 Windows 平台上的程式設計師,並且寫慣了封閉源碼或者專有軟體,那么,請您去看看文中提到的這些連線,你會知道,在 Windows 上開發開源軟體是一件更加富有成就感和挑戰性的事業。
套用
儘管 Windows 是被開源社區的人們看不上眼的東西,但是還是有很多的開源軟體能套用於 Windows 。 我記得在 Linux 出現之前,就有 GNU 工具被移植到 Windows。現在只是使用開源或者自由軟體,你就能開發出複雜的 Windows 軟體。
還有一個反向的路徑:如果你在開發 Windows 版本的軟體,那么可以利用那些專門針對 Windows 的工具,並充分利用他們的優點。在這種情況下,你可以使用 COM 著重來最佳化Windows 界面。如果你用微軟的 Visual Studio 來寫程式的,這樣你的程式就只能在 Windows 上跑。
但是在最佳化這些程式的時候,你可能要在很多套用之間折衷考慮。你的程式成為 Windows 專用程式,這樣,你就要遵循微軟的“教誨”,以寫出最好的程式。然而,很多人不喜歡這樣,例如,如果你使用微軟的 MAPI 作為 e-mail API ,那么你就只能從非微軟平台得到簡單的支持。因此,堅持標準,能為你選擇正確的產品來適合自己的需求帶來更大的自由。
相關係統
Windows 上至少有一個主要的開源開發系統:Perl。 ActiveState 是 Perl 的 Windows 版本的主要發行商,使 Perl 成為 Windows 上優秀的腳本工具。另外,在 Windows 上使用 Perl ,並不一定意味你在編寫可移植的代碼,無論在 Windows 上還是其他平台上,Perl 經常作為能方便的和作業系統打交道的語言。如果你瀏覽一下 CPAN的話,就會發現海量的 Perl 代碼,其中的大部分都只能支持 Unix。但是,在現實生活中,還是有很多 Windows 上 Perl 代碼,還有很多網站幫助 Windows 上的 Perl 用戶。
工具
儘管有為數不少的網站支持 Windows 上開發開源軟體的工具,但是,我還沒有發現有一個網站專門用來討論 Windows 上開源工具(或許我找的不全面)。
OSDN 有好幾個網站:Freshmeat net以及SourceForge,託管著開放源碼工程,但是很多是開發工具(因為他們本身就是程式設計師為了工作而寫的)。
所有和 Windows 兼容的產品,其用戶界面要么是字元界面,要么是 Web 界面,要么是類似 wxWindows 的抽象庫。但是很多僅僅是交叉平台的庫。
IBM 的 alphaWorks上有很多開源工具。大多數的目標平台是 Linux 或者 Java,但是也有 針對 Windows 的 XML。
對於 Web 開發人員來說,就有很多的選擇。所有的市場上領先的開源套用都有對應的 Windows 版本,包括本網站的”中心思想“:Apache, PHP, 和 MySQL,對於 Windows 上的 PHP 程式設計師來說,筆者建議你一定要拜訪一下 php4win 這個網站。
如果你不是自己開發的話,也有一些套用你可以選擇,OpenOffice 是根據 Sun 的 StarOffice 的代碼而建立的一個開源工程,也能工作於 Windows ,看起來似乎很有爭議。另外你還可以使用 Mozilla 的瀏覽器。
在 Windows 平台上使用開源工具,看起來很不順眼,如果你十分堅信開放源碼的話,你就應該拋開 Windows 。但是開放源碼是一個現實的存在,儘管和 Windows 相處得不是很好。
開源項目的語言工具
PHP:由於PHP短小精悍、加上PHP程式往往是沒編譯和沒加密的,所以,PHP程式成為網上開源應用程式開發的首選語言。也正因為PHP沒編譯和沒加密,所以,PHP開源項目很少有用於企業級套用的,同時也就缺乏大型企業對PHP在財力和技術方面的支持。PHP主要在自由的、個人或小團隊開源開發中套用。SugarCRM算一個比較成功的套用在中小企業上的CRM系統。
Java:是企業級套用開發的首選語言。IBM為跟Sun爭Java的主導權,同時跟Oracle和微軟爭企業套用的市場份額,於是IBM成為推動Java基礎項目的開源開發方面最用心和最用力的企業。IBM對Apache Jakarta項目的大力扶持,使得Java有了強勁的Tomcat伺服器,有了Apache Commons一系列基礎開發組件;IBM的Eclipse的扶持,則讓Java有了強勁的開發環境。跟PHP不同的是,Java的開源更多集中在功能模組上的開發,而面向最終用戶方面的開源套用系統則明顯不如PHP那么多,從功能上看,也不如PHP開發套用那么成熟,這主要原因是Java程式對伺服器要求較高,共享主機時,功能有限的PHP在安全、管理方面也更加靈活、可控。
開源項目的管理工具
ZenTaoPMS:是中小型企業項目管理的最佳選擇。ZenTaoPMS基於國際流行的敏捷項目管理方式——Scrum,同時也融合了PMP中的很多概念,完美地體現了Scrum中疊代開發的精髓,很好地融合了燃盡圖的概念。ZenTaoPMS基於LGPL協定,企業或者個人都可以免費獲取禪道項目管理軟體的原始碼並安裝使用,並可以結合自己的實際需要進行修改。