Permalänk

PCC - Portable C Compiler

Tänkte lite snabbt informera om ett "nygammalt" projekt som jag själv hoppas ska bli ett alternativ till det alltmer svulstiga GCC någon gång i framtiden.

PCC är en BSD-licensierad kompilator som föddes redan på 70-talet och som har haft historisk betydelse för UNIX. På 2000-talet återupplivades projektet av en Svensk, Anders Magnusson, och förra året drog utvecklingen igång igen på allvar. Strävan tycks vara att skapa en liten, standardiserad GCC-kompatibel kompilator som helt igenom är BSD-licensierad. Detta skulle t.ex. innebära att NetBSD, OpenBSD och FreeBSD i teorin skulle kunna kasta GCC till förmån för PCC. I dagsläget är det 5-10 stycken som aktivt bidrar till utvecklingen och det verkar rulla på i allt snabbare fart.

Det har även startats en fundraiser där man försöker få in lite pengar till Anders så han kan spendera mer tid på projektet:
http://www.bsdfund.org/projects/pcc/

PCC's egen något spartanskt wikifierade hemsida hittar ni här:
http://pcc.ludd.ltu.se

Kan nog vara lite intressant för oss som föredrar BSDL framför GPL, men också för oss som vill börja från grunden i kompilatorteori. GCC kan vara rätt svårt att få grepp om och här är ett bra alternativ.

Visa signatur

"Linux is good because it keeps people out of real kernels"

Permalänk
Avstängd

GCC är under GPL/LGPL som är accepterad av FSF och OSI som en fri och öppen licens.
Så varför skulle man vilja kasta ut GCC från BSD?
Jag tycker att både BSD och GPL är schyssta licenser.

LLVM är för övrigt intressant.

Och om någon påstår att BSD skulle vara bättre än GPL, eller att copyleft skulle vara något dåligt, då tänker jag påstå att ISC är bättre än BSD.
Jag tycker att BSD är bra för bibliotek, protokoll, och filformat. Tycker att GPL är bra för applikationer.

Permalänk
Citat:

Ursprungligen inskrivet av leksak
GCC är under GPL/LGPL som är accepterad av FSF och OSI som en fri och öppen licens.
Så varför skulle man vilja kasta ut GCC från BSD?

Detta har inget med FSF och OSI att göra. Inte heller handlar det om vilken licens som är "schysstast", mest fri, bäst, populärast eller hur GPL/BSDL lämpar sig för olika typer av projekt. Den filosofiska debatten BSDL vs. GPL hör inte hemma i den här tråden och får avhandlas någon annanstans.

Däremot:

Ta företag som Apple, Juniper, Cisco, Nokia och NetApp. Alla giganter på sina områden, och alla även starkt beroende av BSD-licensierad kod. Livscykeln fungerar som så att antingen importerar de direkt BSD-licensierad kod från önskat projekt eller så köper de tjänsten av någon som är familjär med systemet som skall behandlas, exempelvis en kernel-utvecklare hos FreeBSD. I gengäld brukar företagen ge tillbaka vad som anses rimligt till projektet i fråga, t.ex. FreeBSD. Istället för att vi ska tjata, gnälla och skrika på företag om att de skall öppna upp sin kodbas så ger vi istället våra system till dom och i gengäld ger de tillbaka bitar ur deras implementationer till oss. Otroligt nog fungerar detta väldigt bra.

I fallet PCC vs. GCC innebär detta främst att man vill kunna skicka med en BSD-licensierad kompilator som man kan skapa en produkt av, tillsammans med det underliggande systemet. Detta tillsammans med kravet (främst inom Embedded, där BSD är starkt) på att kompilatorn måste vara liten och lätthanterlig gör inte GCC till något alternativ. Marknaden vill ha något som alla kan dra nytta av.

Visa signatur

"Linux is good because it keeps people out of real kernels"

Permalänk
Avstängd

Apple, Juniper, Cisco, Nokia och NetApp kan väl använda GPL också, det finns ingenting som hindrar något av de företagen att inkludera GCC i sina grejer.

Inte behöver man tjata, gnälla och skrika på företag att de skall öppna sin kodbas om det står i licensen att detta skall göras.

De kan skicka med GCC och skapa en produkt av tillsammans med det underliggande systemet. Det finns ju massor med produkter som innehar GPL licenserad kod, som tex Linux kärnan, BusyBox, etc.
Embedded devices behöver ju inte ha någon kompilator, de är bara att köra binärer på dem.

Permalänk
Citat:

Ursprungligen inskrivet av leksak
Apple, Juniper, Cisco, Nokia och NetApp kan väl använda GPL också, det finns ingenting som hindrar något av de företagen att inkludera GCC i sina grejer.

Har du verkligen läst GPL och vet vad det innebär? Jag tvivlar.

Man kan inte stänga något som är GPL och man vågar inte riskera att smitta ner resten av sin kod genom att inkludera GPL.

Visa signatur

"Linux is good because it keeps people out of real kernels"

Permalänk
Medlem

pcc verkar intressant.. synd att det inte finns något x86_64 stöd än men det är på väg

Är pcc snabbare än gcc?

Visa signatur
Permalänk
Citat:

Ursprungligen inskrivet av spaam
Är pcc snabbare än gcc?

Jag har inte läst några kvalitativa tester där dessa jämförts. Ännu.

Hittade dock en presentation från Anders som är relativt färsk här:
http://www.nycbsdcon.org/2008/files/magnusson_pcc.pdf

Två ljudupptagningar från när Anders och Michael Shalayeff presenterade PCC @ NYCBSDCON08:
http://www.fetissov.org/public/nycbsdcon08/1.4.mp3
http://www.fetissov.org/public/nycbsdcon08/1.5.mp3

Någon hade tydligen kommit fram till att hela pcc var mindre än README-filen till gcc...

Visa signatur

"Linux is good because it keeps people out of real kernels"

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av Kent-Mustafa
Man kan inte stänga något som är GPL och man vågar inte riskera att smitta ner resten av sin kod genom att inkludera GPL.

Det stämmer att man inte kan stänga GPL.
Men BSD kärnan är ju knappast "smittad" av GPL för att de valt att inkludera GCC i sitt operativ system.
Man kan kompilera program med GCC utan att det för den skull blir GPL.
Man kan släppa en distribution med ett GPL program utan att för den skull andra program blir GPL.
Det där med "smittad" är ju bara FUD.

Permalänk
Citat:

Ursprungligen inskrivet av leksak
Det stämmer att man inte kan stänga GPL.
Men BSD kärnan är ju knappast "smittad" av GPL för att de valt att inkludera GCC i sitt operativ system.
Man kan kompilera program med GCC utan att det för den skull blir GPL.
Man kan släppa en distribution med ett GPL program utan att för den skull andra program blir GPL.

Du läser inte mina inlägg.

Du har tydliggjort att du inte förstår GPL.

Du har tydliggjort att du inte förstår varför GPL försvårar integrering av open source inom företag och kommersiella produkter.

Jag föreslår att du tar ett djupt andetag, tittar på mitt första inlägg i tråden, inser att detta handlar om en kompilator och inget licenskrig, och sedan lämnar ämnet bakom dig.

Visa signatur

"Linux is good because it keeps people out of real kernels"

Permalänk
Avstängd

Jag läser dina inlägg.

Jag förstår nog grundprinciperna i GPL.

GPL försvårar integrering av open source inom företag för att licensen inte tillåter parasiter.

Du säger att ditt inlägg handlar om en kompilator, och inget licenskrig, men ändå så nämnde du licensen i ditt första inlägg, och poängterade att eftersom den var BSD-licensierad så skulle man kunna slänga ut GCC.

Permalänk
Citat:

Ursprungligen inskrivet av leksak
Du säger att ditt inlägg handlar om en kompilator, och inget licenskrig, men ändå så nämnde du licensen i ditt första inlägg, och poängterade att eftersom den var BSD-licensierad så skulle man kunna slänga ut GCC.

Jag angav skäl till att gcc kan bytas ut, varav ett var licensen.

Visa signatur

"Linux is good because it keeps people out of real kernels"

Permalänk
Hedersmedlem

Problemet är väl att det finns mycket kod, även i BSD-projekt som använder sig av GCC-extensions och macron, men det verkar ju som om PCC siktar på (åtminstone grundläggande) GCC-kompatibilitet så då är ju all good.

Visa signatur

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Permalänk
Medlem

Trodde *BSD hade egen kompilator redan?

Intels egna ska väll annars ge lite extra fart.