開放源碼(open source)普遍是指公開電腦程式(computer program)的源碼(source code)出來,有時亦指一些以開放源碼理念的其他事物和文化。
甚麼是源碼(source code)?
用家使用的電腦程式都是以機械碼(machine code)存在電腦或媒體(例如USB記憶體)中,方便電腦直接而快捷地執行程式。機械碼都是一些以二進制(binary)組成的字節(bytes),例如10101010。
簡單來說,軟件開發者編寫程式時,使用類似英語類或符類的編程語言(programming language)來編寫,編寫出來英語類或符類的程式碼就是源碼 (source code)。然後,軟件開發者需使用編程語言提供的編譯器(compiler),以編譯方式把源碼轉換成機械碼,電腦才能直接執行程式。另外,部份編程語言會在電腦執行程式時,直譯器以直譯方式轉換源碼或字節碼(bytecode)成機械碼,來讓電腦執行。
用於開放源碼軟件開發的常見編程語言例子有 C/C++、PHP、Python、Rust、Javascript 等。
甚麼是開放源碼(open source)?
開放源碼指提供電腦程式的源碼給用家,用家除了可以檢視源碼、自行轉換成機械碼程式外,也容許用家以相同條款修改和發佈修改後的軟件,更保障和平衝開發者和用家的權益。
開放源碼軟件(open source software)就是開放源碼的軟件。自由軟件(free software)的理念亦跟開放源碼軟件近似,自由軟件所強調的是用家自由,開放源碼軟件所強調的是公開源碼。
而與開放源碼軟件相反的都是專屬軟件(proprietary software)。在專屬軟件世界,用家只有使用電腦程式機械碼的權利,卻不能改動軟件,鎖死用家的權益。