Fri mjukvara behöver fria verktyg

Det senaste decenniet har utvecklare av fri mjukvara blivit frestade av utvecklingsverktyg som ger möjligheten att bygga fri mjukvara effektivare eller kraftfullare.

Det enda priset vi betalar, har vi blivit försäkrade, är att verktygen själva inte är fri mjukvara eller kör som nätverkstjänster med källkod som vi inte kan se, kopiera, eller köra själva. I deras val att använda dessa verktyg och tjänster — som BitKeeper, SourceForge, Google Code och GitHub — har utvecklare av fri mjukvara tagit beslut i andan “ändamålen-helgar-medlen” som byter bort friheten både för deras utvecklargemenskap och deras användare. Dessa val att omfamna ofria och privata utvecklingsverktyg underminerar vår kredibilitet när det kommer till att förespråka mjukvarufrihet och kompromissar vår frihet, och våra användares frihet, på sätt som vi bör förkasta.

I 2002 tillkännagav Linus Torvalds att Linuxkärnan skulle flytta sin utveckling till det distribuerade versionshanteringssystemet (engelska Distributed Version Control System – DVCS) BitKeeper. Medan beslutet utlöste mycket larm och debatt, tillät BitKeeper kernelutvecklarna att arbeta på ett distribuerat vis som, på den tiden, inte stöddes med fri mjukvara — Några Linuxutvecklare tyckte att fördelarna övervägde nackdelarna i utvecklarnas frihet. Tre år senare fick skeptikerna upprättelse när BitKeepers ägare, Larry McVoy, återkallade flera av kärnutvecklarnas gratislicenser för BitKeeper efter att Andrew Tridgell försökt skriva en fri ersättare till BitKeeper. Kärnutvecklarna var tvungna att skriva en egen ersättare som var fri mjukvara: Projektet som kallas Git.

Självklart är fri mjukvaras förhållanden med ofria utvecklingsverktyg mycket större än BitKeeper. Källkoden till en supporttjänst för utveckling av fri mjukvara – SourceForge var en gång tillgänglig för dess användare, men dess utvecklare har återgått till en helt stängd modell. Medan SourceForge fortfarande byggs med hjälp av öppen källkod så interagerar användarna av SourceForge via webben. Eftersom användarna aldrig har en kopia av SourceForge-mjukvaran så kan dom aldrig kräva källkoden. Liknande projekt, som CollabNet’s Tigris.org, Google Code’s tjänst “Open Source Project Hosting”, och GitHub, tjänade liknande ändamål och har hållit sin kod utom räckhåll. Deras tjänster erbjuds ofta utan kostnad och riktas mot öppenkällkodsprojekt, men detta engagemang sträcker sig inte till deras egna mjukvara som kör utvecklingsplattformarna. Källkoden till var och ett av dessa system hålls privat och är oförändringsbar av utvecklarna som använder tjänsterna.

Dessa ofria utvecklingsverktyg skapar ett dilemma för många utvecklare av fri mjukvara. Målet för många av dessa verktyg, genom mer effektiv utveckling av fri mjukvara, är mer fri mjukvara och mer frihet. CollabNet, Google och GitHub hävdar alla att dom vill att fri mjukvara skall vara framgångsrikt och hävdar att dom vill hjälpa detta mål. För ett antal orsaker så väljer dock dessa företag att stöda mjukvarufrihet genom medel som är mindre i linje med frimjukvaruetik än det dom försöker skapa. Resultatet är utvecklare som är maktlösa. Mjukvarufriheten i koden som dessa utvecklare producerar är beroende på oacceptabel exklusivitet.

För det första, att använda ofria verktyg skickar ett oacceptabelt meddelande till användare av den fria mjukvaran som produceras. “Mjukvarufrihet är viktigt för dig som användare,” verkar utvecklare säga, “men inte för oss”. Sådant beteende underminerar den simpla effektiviteten av ett starkt etiskt ställningstagande vid grunden av frimjukvarugemenskapen. Så som dom som redan är hängivna till fri mjukvara, borde även vi demonstrera att vi kan lyckas — och frodas — med hjälp av fri mjukvara. Vi bör stödja fria alternativ till proprietära system som Savane som kan ersätta SourceForge eller Google Code och kör GNU Savannah, eller Gitorious som kan ersätta GitHub — genom att använda dessa och förbättra dem på dom saker där dom brister.

För det andra skall vi förstå att, med blicken framåt, är programvaran vi producerar bara så fri som den programvara den är beroende av för sin fortsatta användning, distribution och evolution.

GNU GPL-licensen och tillgänglig källkod betyder väldigt lite för en användare som försöker modifiera ett program utan fri access till mjukvaran som krävs för att göra dessa modifikationer. Det är inte bara utvecklarnas frihet som står på spel, utan även, i slutänden, deras användare och alla framtida “nedströms”-utvecklare också. Dom som väljer att använda ickefria verktyg gör alla beroende av grupperna eller individerna som producerar de verktyg som dem i sin tur är beroende av.

Medan proprietära utvecklingsverktyg kan hjälpa utvecklare att skapa mer fri mjukvara kortsiktigt så är det till ett oacceptabelt pris. I det kontroversiella området privat programvara och nätverkstjänster, bör utvecklare av fri mjukvara fela på rätt sida av “för mycket” frihet. För att kompromissa med våra principer i försök att få mer frihet är självförgörande, instabilt, och slutligen orättvist, för våra användare och för den bredare gemenskapen för utveckling av fri mjukvara.

Precis som dom tidiga GNU-underhållarna först fokuserade på att utveckla fria verktyg för att skapa fri mjukvara, bör vi säkerställa att vi kan producera mjukvara fritt och med hjälp av otvivelaktigt fria verktyg. Om vi misslyckas med detta så kommer det att resultera i mjukvara som är, indirekt, mindre fri. Vi bör motstå att använda verktyg som inte ger oss den frihet som vi försöker ge till våra användare i utvecklingen av deras mjukvara och vi bör sätta tryck på dom som utvecklar våra utvecklingsverktyg. Fri mjukvara har inte nått framgång genom att kompromissa på våra principer. Vi kommer inte att tjäna på, tekniskt, pragmatiskt eller etiskt, att kompromissa med friheten i de verktyg som vi använder för att bygga en fri värld.

This is a translation of the text by Benjamin Mako Hill at http://mako.cc/writing/hill-free_tools.html, and as the original, licensed under the Creative Commons Attribution-Share Alike 4.0 License.