為何黑客松應堅持使用自由軟體

黑客松是為數位開發專案提供社群支援的公認方法。社群邀請開發者加入活動,活動提供鼓勵性的氛圍、一些有用的資源,以及從事有用專案的機會。大多數黑客松根據既定標準選擇他們將支援的專案。

黑客松符合社群精神,在社群中,人們對彼此採取合作和尊重的態度。符合這種精神的軟體是自由(libre)軟體,自由如自由的意義。自由軟體帶有授權條款,賦予其使用者(包括程式設計師)合作的自由。因此,黑客松在自由軟體社群中是有意義的。硬體設計專案也應該而且必須是自由的。

對自由的尊重不能被視為理所當然。相反地,我們周圍充斥著無恥地發布專有(非自由)軟體的公司,這些軟體僅供那些屈服於其權力的人使用。這些公司開發軟體作為支配和控制他人的手段

這些公司有害的成功激勵年輕開發者效仿他們的榜樣,開發自己的程式或硬體設計來支配使用者。他們有時將他們的專案帶到黑客松,在尋求社群支援的同時,拒絕社群的精神:他們無意以合作回報合作。接受這種情況的黑客松會破壞他們所基於的社群精神。

有些不正當的黑客松專門用於協助某些公司的運算:在某些情況下, 歐洲 加拿大銀行,以及 Expedia。雖然他們沒有明確說明,但公告給人的印象是,他們的目標是促進某些非自由軟體的開發,並且與會者旨在幫助這些非慈善專案。

這些例子顯示了黑客松可能會滑落到多麼糟糕的境地。讓我們回到更常見的情況,即黑客松並非專門針對商業用途,但接受專有專案。

當開發者將專案帶到黑客松時,並且沒有說明它是否會是自由軟體,這並不是公開反對社群精神,但它會破壞這種精神。黑客松應該透過堅持黑客松專案承諾按照這種精神發布,來加強他們所基於的社群精神。

這意味著告訴開發者:「為了讓您值得我們的支持和幫助,您必須同意讓社群自由地使用您的專案成果,如果您認為它們夠好到可以使用或發布。」

作為黑客松的個人參與者,您可以支持這項原則:在加入任何黑客松專案之前,詢問「您將以什麼授權條款發布這個專案?我想確定這將是自由(libre)軟體,然後我再加入開發。」如果專案的開發者說他們稍後會選擇授權條款,您可以回應說您稍後再決定是否參與。不要害羞——如果其他人聽到這個討論,他們可能會決定走同樣的路。

若要查看哪些授權條款是自由授權條款,請參閱GNU 授權條款列表。大多數「開放原始碼」授權條款都是自由的,但有些開放原始碼授權條款是非自由的,因為它們限制性太強

個人的堅定態度會產生影響,但黑客松本身的政策會產生更大的影響。黑客松應該要求每個參與專案承諾遵守這項規則

如果您曾經發布或使用此程式碼或設計,您將在自由(libre)授權條款下發布其原始碼。如果您以可執行形式分發程式碼,您也將使其成為自由(libre)軟體。

許多黑客松是由學校贊助或主辦的,這也是他們應該採納這項規則的另一個原因。自由軟體是對公共知識的貢獻,而非自由軟體則向公眾隱瞞知識。因此,自由軟體支持教育的精神,而專有軟體則反對它。學校應堅持要求他們所有的軟體開發都必須是自由軟體,包括他們支持的黑客松的軟體開發。