什麼是程式碼(程式設計/開源和閉源)

當我們談論程式碼時,我們指的是電腦運行的語言,它包括一組要自動處理的指令和資料。

計算中的程式碼可以是二進位(只能由電腦解釋)、原始碼(可以由人類解釋),並且在法律或政治方面,它可以是自由軟體、開源、免費軟體、共享軟體或傳統的專有/專有軟體。

自由軟體或自由軟體在這方面有明確的定義;根據自由軟體基金會的定義,它是可以用於任何目的、可以研究(知道它做什麼)、複製和改進的軟體。自由軟體授權有很多種,GNU GPL 是所有這些授權的參考,但我們也可以提到 MIT、BSD、Mozilla、Apache 或 Creative Commons 授權。

開源軟體基本上與自由軟體相同,只不過它不情願將專有軟體與自由軟體混合在一起。還有一些開源軟體不能用於任何目的,這就是為什麼它不是免費的。

免費軟體與自由軟體沒有什麼關係,因為唯一免費的是它的分發:一般來說它不能被修改、研究或銷售,這就是為什麼很明顯它沒有原始碼(沒有「程式配方」) )。

共享軟體與免費軟體類似,但有一個額外的限制:使用時間。這些程式通常會在幾天內被停用,它們是完整專有程式的演示/輕型版本。

傳統的專有軟體(Windows風格)不允許將其用於任何目的,不允許對其進行研究(除非向其創建者支付巨額費用),不允許任何人免費複製或改進它:這完全是免費的反面。軟體,這就是Windows和GNU/Linux如此對立的原因。