
開源軟體的商業化
開源軟體在幾十年前剛發展時,最主要的理念是打破閉源軟體公司的壟斷,也就是Microsoft、Apple、IBM…等這些閉源軟體公司,期望讓所有人都能無條件使用軟體,開發者間可以彼此互相學習,也因早期的開源軟體是針對開發者,比較不在意UI/UX,但這對於非開發者而言,非常不友善,一般使用者基本上是不會去使用的,再加上網路還沒大量普及,使得開源軟體的傳播就只侷限在軟體技術圈裏,但開源軟體的高性能和靈活性,還是透過開發者的口耳相傳,在軟體界慢慢傳播開來。
而如上面所說,最早開源人士的理念是所有人都能無條件使用,因此對於將開源軟體拿來商業化,一開始是很反彈的,認爲怎麽可以拿來盈利呢!但後來隨著時間的演變,也逐漸調整想法,爲什麽?因爲大家體會到,要先生存下去,才有能力去做更多想做的事情,如果開源軟體完全不能用在商業行爲,那開發出來的意義在哪裏?況且只靠理想是很難吸引到更多人加入開源的行列,畢竟“有付出也有收穫”是大部分人的基本需求。因此怎麽將開源軟體商業化,也經過了一段時間的爭論,後來社群協調出透過授權License來取得平衡,這部分有點複雜就不多說了,有興趣的人可以參考這篇“在開源時代的興起下,如何透過License共享並保有權益”。那爲什麽現在開源軟體能越來越蓬勃發展呢?下面從幾個角度來探討:
從軟體公司角度:底層開源,節省開發成本,決戰上層商業模式
爲什麽原本的閉源軟體公司,漸漸願意開源了呢?因爲不管是軟體或硬體,所有技術的發展都像金字塔一樣,底層技術要越寬廣,上層的發展才能越高。先來看硬體產業的技術發展,任何產業在一開始,一定都是壟斷生意,因爲在底層技術還不夠廣時,很容易就被某間公司獨佔,但隨著技術一直拓展,各家都有自己的獨佔技術了,就會開始互相牽制,而隨著技術領域一直拓展,市場就越來越難被少數廠商壟斷,而當幾大廠商掌握的底層技術架構都不一樣,反而會造成整個產業的發展是被卡住變慢的,因此當產業發展到一定規模後,幾大主要競爭者發現既然沒人能完全壟斷,只好大家坐下來談規格整合,讓所有硬體商在統一的底層規格上,去開發產品。
軟體的發展也類似,軟體技術發展到21世紀,牽扯的底層技術範圍也一直拓展,漸漸不再是單一公司能獨立承擔的,沒有任何一家能獨佔所有技術,而彼此的底層技術架構不一樣,會造成兩個影響,首先,若想讓自己的產品更廣泛的被使用,就必須花更多時間去開發底層技術,導致開發成本增加;另外一個更重要的是,資訊安全的問題,因爲軟體運行時是看不到的,若沒看過程式碼,誰也不知道裏面是否藏有後門,要用別人的底層技術都會有所顧慮。因此各大軟體公司開始思考,若把底層技術開源,一方面吸引更多人來幫忙開發、檢查、維護,不但降低了開發成本,程式的品質反而更好,此外大家也都看得到裏面有沒有惡意程式,就不用擔心資安的問題,可以提高技術傳播率,因此到了現在這個階段,想辦法讓更多人使用自家的底層技術,來開發上層應用程式,反而是現在軟體公司極力推廣的,因爲使用者越多,自家產品的影響力就越大,也可以排擠競爭對手的技術。
那底層技術開源了,各公司間怎麽競爭呢?此時各大軟體公司就不再糾結於獨佔底層技術,畢竟這其實是吃力不討好的,雖然不可能完全不研發底層技術,但是將底層技術交由全世界廣大的開發者來協同開發,可以省下這方面的資源,轉而專注在中上層的應用程式APP,應用程式就不是開源的軟體,而是閉源了,也是各家藉以盈利的核心,同時決戰於商業模式策略,這才是軟體公司打的如意算盤,關於商業模式的發展後面會再談。
從產品角度:降低銷售成本,快速取得市場回饋
從產品的角度來看,原本的閉源軟體要做銷售,其實是件很辛苦的事,要説服別人來使用自家的產品,需要花費許多銷售成本,這也是爲什麽在所有的盈利公司中,銷售部門都扮演很重要的角色。而反過來看開源軟體,使用者可以先自行下載,了解基本的架構和功能符不符合自己的需求,同時靠著社群内的口碑傳播,產品傳播的速度絕對比原本一家一家上門拜訪的銷售模式,更能觸及到大量的使用者,若使用者對基本免費的功能滿意了,覺得需要更進階的功能,就會考慮去買商業化的應用程式,這就可降低銷售人員的成本。
同時,更多使用者也代表了可以取得更多的市場回饋,更能針對回饋去調整產品,讓使用者體驗更好,形成一個良性循環,這也是敏捷精神的一個延伸。因此從產品開發及銷售的角度來説,開源也是有正向幫助的。
從使用者的經營者角度:減低使用與轉換成本
對所有經營者來說,成本永遠是要去考慮的事情,而一般考慮使用系統的成本,主要有幾件事:使用成本、維護成本、轉換成本、使用風險。原本常見的閉源軟體收費模式,通常是先一筆高額的授權費用,再加每年的維護費用,而開源軟體的收費模式,不需要高額的授權費用,首先就降低了使用成本,而且也不需在還沒使用前,就要付這筆授權費,降低了使用風險;同時在產品的選擇上也更有彈性,不會被一家綁死,因爲開源,更容易找到其他公司的應用程式,轉換成本也可以降低。因此使用開源軟體也可降低營運成本。
從開發者角度:一輩子的履歷,持續了解最新技術
那爲什麽開發者願意無償去協助開源軟體呢?現在這個時代,人才的流動越來越頻繁,開發人員若都是開發閉源軟體,因爲牽扯到商業機密,能讓外人看的東西其實很少,這表示開發者的技術能力只有少數證據能佐證,若要轉換公司,能談判的籌碼就比較少。但在開源社群裏的貢獻,是全部都公開的,所有人都能看到,對開發者來説,這是可以跟隨一輩子的履歷,若技術有一定的水準,在社群裏面更是可有效建立個人名聲,説不定是軟體公司直接來挖角,因爲這對雇主來說,也是件好事,可以減低雇用到技術不及格的人員的風險,也因此,現在很多軟體公司,會直接請應徵者展示在開源社群上的貢獻。
同時,隨著全世界的開發者越來越多,技術的演變也越來越快,以前學到一個好工具,可能三~五年不用再學新的,但現在可能半年就有一個效率更好的工具出來了,因此若沒有在社群裏持續交流新資訊,很容易就落後別人。
不過原本開發者參與開源專案的貢獻,除了上面說的名聲,無法獲得什麽實質的收入,但這幾年有個新的技術,讓參與開源專案的人,也能獲得收入了,什麽技術呢?那就是分散式帳本技術 (Distributed Ledger Technology),也就是區塊鏈,以後會再找時間來介紹區塊鏈相關的事情,而我認爲區塊鏈會是未來網路時代一個很重要的底層技術,當然它現在還處於早期的開拓摸索期,無法大量實際應用,但未來它將佔有一席之地。
開源軟體有這麽多好處,所以未來所有的軟體都會開源嗎?
從上面幾個角度可以看出,這就是爲什麽近十年來,不管是軟體公司、開發者以及使用者,都越來越接受開源軟體的原因,那這樣下去,未來所有的軟體都會開源嗎?我認爲不太可能,就像在前面提到的,軟體公司願意將底層技術開源,但不會將上層的應用程式開源,因爲這是他們賴以獲利的核心,而現在會願意將底層技術開源,只是因爲從整個賽局來考慮,這樣做可以讓他們降低在底層技術的成本,轉而專注在核心技術,來達到更好的獲利,但絕對不會什麽都開源,如何盈利還是公司最關心的事,而獨佔生意還是利潤最高的生意。
下一篇就來談談,開源軟體一路以來的商業模式是怎麽演變的。
延伸閲讀:
相關閲讀:
[…] 開源軟體的商業模式分析 (二) […]
讚讚