Planet Fellowship (nl)

Sunday, 09 November 2014

T-DOSE

/var/log/fsfe/flx » planet-nl | 00:32, Sunday, 09 November 2014

T-DOSE 2014 is alweer voorbij. We waren er met heel wat fellows, en natuurlijk met de FSFE stand.

fellows

Zaterdag sprak ik over het “Internet of Things” en Kevin Keijzer over Discriminatie van vrije software(gebruikers) in het onderwijs; Maurice sprak zondag over “Digital Sovereignty For Europe” (youtube).

Ook hielp ik als vrijwilliger bij het Privacy Café.

- Felix

Tuesday, 28 October 2014

Nederlandse publieke omroep neemt afstand van open standaarden

André on Free Software » Nederlands | 18:18, Tuesday, 28 October 2014

De Nederlandse publieke omroep NOS heeft vandaag het redesign van haar site openbaar gemaakt. De beta site biedt niet langer de mogelijkheid om met open standaarden nieuwsuitzendingen terug te kunnen kijken.

Mensen konden tot nu toe uitzendingen terugkijken in HTML5. Die mogelijkheid is nu verdwenen. Op beta.nos.nl kan u feedback geven en dat is wat ook ik heb gedaan.

UPDATE 29.10.2014

Dankzij Karsten heb ik de site opnieuw gecheckt en kan ik bevestigen dat HTML5 werkt. Dus het is mijn fout. Mijn volledige excuses aan de NOS en aan mijn lezers.

Dit is wat er is gebeurd:

1.Vandaag werkt het goed in Firefox/Iceweasel. Let op dat LibreJS niet mag zijn ingeschakeld. Omdat Firefox/Iceweasel een voorkeur lijkt te hebben voor Flash (zie YouTube) heb ik beta.nos.nl gecheckt met Chromium.

2. In Chromium, met Privacy Badger, leidt het niet toestaan van de “scorecardresearch.com”-cookie ertoe dat het laden van de uitzending wordt voorkomen.

UPDATE 31.10.2014

NOS heeft blijkbaar haar instellingen veranderd. U bent nu niet meer verplicht om externe (commerciële) cookies te accepteren voordat u de uitzending kan bekijken in Chromium.

Monday, 22 September 2014

E-boeken downloaden met Vrije Software

André on Free Software » Nederlands | 18:32, Monday, 22 September 2014

Vandaag bracht NRC het nieuws: Bol.com en CPNB komen met een e-boeklezer voor iedereen. Wie een LeesID-account aanmaakt kan boeken uit verschillende webwinkels lezen en beheren in een digitale boekenkast.

LeesID kent ook nadelen:

  • LeesID beheert uw boeken op haar eigen computers;
  • LeesID weet wat u leest;
  • U moet eerst inloggen;
  • Geen ondersteuning voor vrije besturingssystemen.

Vrije Software biedt u e-boeklezers zoals Calibre en FBReader.

  • U beheert de e-boeken zelf;
  • De ontwikkelaars weten niet wat u leest;
  • U hoeft niet in te loggen;
  • Geschikt voor vrije besturingssystemen;
  • Een collectie DRM-vrije e-boeken.

Aan u de keuze.

Monday, 18 August 2014

Hoe een wachtwoord met speciale karakters te genereren

André on Free Software » Nederlands | 22:55, Monday, 18 August 2014

Nadat Matthias me heeft getoond hoe je een wachtwoord kan genereren wilde ik er zelf een kunnen maken met speciale karakters. Op deze manier hoef je ze niet zelf achteraf toe te voegen.

Ik ben begonnen met pwgen, dat je in de commandoregel als volgt kan installeren:

apt-get install pwgen

Als je het commando pwgen geeft dan genereer je wachtwoorden zoals:

vuaJ9aes

De wachtwoorden bestaan allemaal uit 8 karakters en je krijgt er 160 tegelijk.

Als je cijfers in de wachtwoorden wil afdwingen dan type je in de commandoregel -n:

pwgen -n

Als je tenminste een hoofdletter in ieder wachtwoord wil dan type je -c:

pwgen -c

Als je volledig willekeurige wachtwoorden wil genereren dan type je -s:

pwgen -s

En als je tenminste een speciaal symbool in ieder wachtwoord wil dan kies je voor -y:

pwgen -y

Dus als je alles optelt en het volgende typt:

pwgen -c -n -s -y

dan kan je je wachtwoord maken van een resultaat als dit:

7?|%Wr0! \xXJk7Mp OY=CD@2i !0;I.,\a j2%aFf5: {GIBK4nZ O’_73K>8 P.1@Nm2e
9y(<bG{Z B)db4(H# /iYy”?0) Yc6/OJ/& 5It&=,>8 \n6#F)%N 8+@nljiF M*H5?<nq
#9I4LEk\ S’h-e0Ax 8lEw’v?y w3n,y,iQ FBk$w7or $p^W9[/| #7eA|D8f 2[ACJDv+
q\s.70Do 7!)]}QmA rU!RdIA8 7p@K?3cD 7=/~’Rhe ;{2OCqYn z9>+”N]l 6UYz!]q[
/3UB_{)@ ]_P]8M#4 P]1t0t?# xT~3HzOh :c~A9RA{ %S?X?2cf E7{>uO(_ T)^=1>AX
Q3.Ez!N\ m0M`m3x$ 6WY=z-x2 H’W)$_98 9″V2.+$S xEAv5`~n GR$Zz:|7 |W3AqXHe
gE`rSMU4 fKa*HLs8 &kQ~s0<i eq)U_8.W %|rD6n+S 5XBV’38k ;9(*AMzB ,u’6IU@2
U`G2F`y. hd05BEg? [26T&U#+ dj1&7tdX V+i>:a32 c^.RGNh1 ^U"3XVR[ eZnc!a56
otr2J*0U VQO;{^S4 rd)E\z7I pMn,xHx6 H%`dUu1? 0_<LKv<# f8&Y)U=\ 1D~d|#er
`ylKnp@8 c+CL`/57 sI7J|}_[ z46Vm>9Z !."rT?q1 {0.}"!Hf i]<-=0Rz Sw&0pB<V
RT4snTs- WEl,35uS g<u?UM7/ :g1c.F”q “&JrK1Cb 88%2#’xJ }Z;”.”2E “b`LI3Q(
,3QH8LW’ 7zU_+\i- 1~!Be-sH nr6!J$R| vp65Ha/H 8Q?&uy#| ‘K/m1NU% 4CB5)(Ln
z@=0tAr# 5S={\|(Z g?o4A<3| =7Azd:AQ Qsl8HE`d Z%-;0Ob3 .N8′fcoI Og_5JB4J
>6feWQ%$ SP1D,7c” N~6N}jmm )q|w7pvI Mpo5=R%X }F2|bnPC q0rN{pAx ;&’,.6iL
~rZ5,,’u alg=Z1y@ +],jk4B3 L+”nfQ5i ]p`7l_O% “-L<6rvz AJ+’3!uW 1bj>Ps}6
[}o1Y8)& cZ12'+={ 4YN[}lKN BjyO\X5l 4rxw|s/U (>QnS&7i 0z(3n>U0 4|=!XC=B
^9v+mP]# >4NzKd8Q x/S3u5G. ‘[I|2*Uw C}2'1Z9r !An2F;s0 `;8ZZ.6R 8!mx>aDH
<N!4un!+ ihg<o2TB 1~'^n@yQ T5WY2kO` A(9|_\iJ C7e_GZLm :0sYS_=s D=nUJ3PN
~72J#}>7 /W!_ZB2\ xZ5E>aA= =F!k\@!0 ./kDOPZ2 ]M|g3x>; )%|,&AY4 HP}V2bg{
_B”^)H)8 (r+{Q&5x 65Tq/*`f q)Ci722] !QATS’$4 zIMIAN7\ 7″7Py93s “xdYe5@<

 

Monday, 11 August 2014

De student

André on Free Software » Nederlands | 16:04, Monday, 11 August 2014

Als je in een universiteitsstad woont heb je soms contact met een student.

Maandagavond. Een atletische man staat voor mijn deur.

Goedendag. Ons bedrijf is opgezet door studenten en biedt u bij deze de abonnementskaart voor uw computer.

Ik zeg dat ik hier niets van af weet.

Het is slechts E 15,- per maand. Wij zorgen voor uw computerproblemen. Uw hele buurt is ook uitgenodigd om lid te worden.

Ik maak bezwaar en zeg dat ik geen computerproblemen heb.

Heeft u geen computerproblemen? Welke Windows-versie gebruikt u?

Ik zeg dat ik het vrije Debian GNU/Linux besturingssysteem gebruik.

De student wordt boos en gaat weg. Ik doe de deur dicht en maak een back-up van mijn computer.

Monday, 28 July 2014

Vrije Software en een pensioenfonds

André on Free Software » Nederlands | 20:11, Monday, 28 July 2014

Het pensioenfonds waar ik lid van ben vereist niet-vrije flash-software op haar website. Leden staan voor de keuze: flash installeren of niet geïnformeerd zijn.

In Nederland zijn veel mensen verplicht lid van een pensioenfonds. Je hebt geen vrije keuze van welk pensioenfonds je lid bent.

Mijn pensioenfonds heeft op haar website een module met persoonlijke informatie. Ik heb niet-vrije flash-software nodig om het te kunnen gebruiken.

Ik heb een reactieformulier ingevuld (e-mailen is niet mogelijk) en daarin gezegd dat als je geen niet-vrije flash-software hebt geïnstalleerd je niets kan zien nadat je hebt ingelogd. Maanden later is er nog geen reactie van het pensioenfonds.

“Daarom gaan we in 2014 onze website verder verbeteren” – Pensioenfonds in haar jaarlijkse folder

Ben ik de enige die deze ervaring heeft?

Welkom op mijn blog

André on Free Software » Nederlands | 16:59, Monday, 28 July 2014

Hallo. Mijn naam is André en ik kom uit Nederland. Ik vertaal voor de Free Software Foundation Europe. Welkom op mijn blog.

Sunday, 18 May 2014

Privacy Café in Utrecht

/var/log/fsfe/flx » planet-nl | 13:49, Sunday, 18 May 2014

Het Privacy Café in Utrecht was aflopen zaterdag een groot succes. Ik was erbij als vrijwilliger en hield ook nog een lightning talk over het belang van Vrije Software (voor privacy). De FSFE folders die ik had meegenomen waren na afloop op!

- Felix

Wednesday, 07 May 2014

Het belang van Vrije Software

/var/log/fsfe/flx » planet-nl | 10:31, Wednesday, 07 May 2014

Computers zijn niet meer weg te denken uit ons dagelijks leven, dat zich in steeds grotere mate online afspeelt. Die computers, smartphones en andere apparaten worden bestuurd door software. We moeten onszelf afvragen: “wie heeft de controle over die software?” Want als wij niet de controle hebben over de software die we gebruiken, heeft het de controle over ons. En diegene die de controle heeft over de software, heeft dus ook de controle over ons.

Vrije Software verleent u (en anderen) deze vier essentiële vrijheden:

  • vrij te gebruiken, voor elk doel
  • te bestuderen en aan te passen aan uw behoeftes
  • te delen, zodat u anderen kunt helpen
  • verbeteringen te delen, zodat iedereen er voordeel van heeft

Het:

  • Zorgt voor fundamentele digitale vrijheden in het digitale tijdperk.
  • Helpt de “digitale kloof” te overbruggen (door beschikbaar te zijn voor iedereen).
  • Is niet afhankelijk is van één partij; in plaats daarvan legt het de controle in handen van zijn gebruikers.
  • Stelt ons (en anderen) in staat te verifiëren dat het doet wat wij willen en geen kwaadaardige functies of verborgen gebreken bevat (wat betekent dat we niet bang hoeven te zijn dat onze computers, televisies en andere apparaten ons bespioneren).
  • Is te vertrouwen (in tegenstelling tot software waarvan niemand mag weten hoe het werkt).
  • Laat ons onze bestanden jaren later nog steeds openen, dankzij Open Standaarden (zodat we niet steeds nieuwe versies van software hoeven te kopen wegens incompatibiliteit met oudere versies of geplande veroudering).

En:

  • Is een publiek goed waar iedereen (inclusief individuen, bedrijven, NGO’s en overheden) aan kan bijdragen en van kan profiteren.
  • Bevordert een cultuur van het maken van nieuwe technologieën in plaats van ze alleen te gebruiken.
  • Respecteert de vrijheid van gebruikers en stimuleert solidariteit en samenwerking in digitale gemeenschappen.
  • Is een generatieve technologiedie:
    • De verspreiding van kennis bevordert.
    • Het MKB, non-profitorganisaties, studenten en individuen in staat stelt om nieuwe en verbeterde technologieën te creëren.
    • Economische groei en wetenschappelijke en technologische vooruitgang stimuleert.
  • Bevordert een eerlijk speelveld in een onafhankelijke, op diensten georiënteerde economie.
  • Is van strategisch belang als een manier om soevereiniteit te garanderen, openbare uitgaven te beheersen, en duurzame ontwikkeling te bereiken.

Vrije Software heeft miljoenen gebruikers. De infrastructuur van het internet is er op gebaseerd, net als de servers van grote en kleine bedrijven. Zonder Vrije Software zou het internet zoals we het nu kennen niet bestaan. Voorbeelden van veelgebruikte Vrije Software zijn: GNU/Linux, Firefox, LibreOffice en VLC. En er zijn er veel meer.

Het gebruik van (uitsluitend) Vrije Software geeft u de volledige controle en is de enige manier om privacy, veiligheid en autonomie te garanderen.

Het belang van Vrije Software is niet beperkt tot persoonlijke computers. We moeten ook de software die (publieke) diensten, (vitale) infrastructuur, stemmachines, de computers van volksvertegenwoordigers, etc. bestuurt kunnen vertrouwen.

Wegens het belang van Vrije Software:

  • Moeten openbare diensten beschikbaar zijn voor alle burgers, inclusief de gebruikers van Vrije Software.
  • Zou software die ontwikkeld is met gemeenschapsgeld of gebruikt wordt door openbare diensten Vrije Software moeten zijn.
  • Moeten we ernaar streven om bedreigingen voor onze digitale vrijheid te elimineren, zoals:
    • Koppelverkoop, leveranciersafhankelijkheid en gesloten formaten.
    • Softwarepatenten (die innovatie en eerlijke concurrentie belemmeren).
    • Digital Restrictions Management (dat computers en apparaten tegen hun eigenaren gebruikt).
    • “Trusted Computing” (“Treacherous Computing”) (dat, tenzij zodanig toegepast dat het onder de contole van de gebruiker staat, ons de controle over onze computers ontneemt en op oneerlijke wijze concurrentie en interoperabiliteit beperkt).

- Felix

Vrijheid: wat hebben Vrije Software en gereedschap gemeen? (FSFE folder)

Friday, 17 January 2014

Zaken doen met vrije software

Jelle Hermsen » Dutch | 18:23, Friday, 17 January 2014

Ik heb in 2013 een stuk geschreven voor Linux Magazine waarin ik beschreef hoe je geld kunt verdienen aan vrije en open source software.
De pdf kun je hier downloaden.

Zaken doen met vrije software

 Alhoewel vrije software meestal gratis verspreid wordt, kun je er prima geld mee verdienen. En in tegenstelling tot bedrijven als Red Hat hoef je ook geen miljoenenomzet te draaien om hier een levensvatbaar businessmodel van te maken.

Eerst wat geschiedenis. In 1969 koppelde IBM de verkochte hardware nadrukkelijk los van de software en gaf zo ruimte aan wat nu een miljardenindustrie is. Voor die tijd werd programmatuur bij de dure mainframes geleverd en programmeurs konden deze vrijelijk aanpassen en uitbreiden. Niet iedereen was in zijn nopjes met deze ontwikkeling. Richard Stallman starte begin jaren tachtig de vrije software beweging en zette zijn gedachtes in 1985 uiteen in het GNU Manifesto. In dit manifest beschreef hij niet alleen de ideologie achter softwarevrijheid, maar ook de mogelijkheden om hier geld mee te verdienen. Hij verwierp de gedachte dat dit programmeurs tot de bedelstaf zou veroordelen en nam nadrukkelijk de ruimte om aan te geven dat hij de ‘free’ in free software bedoelde als in ‘free speech’, niet als in: ‘free beer’.

Stallman bracht gelijk een businessmodel in de praktijk. Hij verkocht de broncode van de teksteditor GNU Emacs. Deze deed hij voor 150 dollar op de post, waarna de ontvanger een tape thuiskreeg. Maar het duurde nog even voordat de commercialisatie van vrije software een vlucht nam. Dit gebeurde in 1989 toen het Amerikaanse Cygnus Solutions opgericht werd. Michael Tiemann, John Gilmore en David Henkel-Wallace boden hiermee commerciële ondersteuning voor vrije software en wisten een succesvol bedrijf op te zetten rond de support en ontwikkeling van de GNU tools voor programmeurs.

In de jaren negentig groeide het aantal bedrijven dat hun diensten aanbood rond open source. Met name het succes van de Linux kernel, gecombineerd met de webserver Apache en het GNU besturingssysteem speelden hier een grote rol in. Het stelde mensen in staat om veel goedkoper een webserver te kunnen neerzetten dan voorheen.

In 1998 werd de term “open source” gemunt om de aandacht wat af te leiden van de meer ideologische aspecten van vrije software en meer te richten op de praktische kant ervan. Dit zette de deuren open naar brede vermarkting van vrije software. Red Hat, een bedrijf met zijn eigen GNU/Linux distributie, ging in 1999 uiterst succesvol naar de beurs, gevolgd door de recordbrekende beursgang van VA Linux Systems dat voorgeïnstalleerde Linux computers verkocht. Ondanks het barsten van de internetbel bleef het aandeel van open source en vrije software in de jaren hierna stijgen. Met deze ontwikkeling zijn er ook een overvloed aan businessmodellen ontstaan.

Voor freelancers of directeurs van softwarebedrijfjes die de open source richting in willen slaan zet ik de voordelen en valkuilen van de verschillende bussinesmodellen uiteen.

Het belangrijkste om je te realiseren is dat je – in verhouding tot de traditionele softwareverkopers – het accent van je arbeid verplaatst. In plaats van het product komt de gebruiker en haar beleving en wensen centraal te staan.

De klassieke manier om geld te verdienen met open source is door support te verkopen. Deze support kun je bieden rond producten die je niet zelf hebt ontwikkeld. Dit is een uitstekende manier om je geld te verdienen. Je kunt eenvoudig een contentbeheersysteem als WordPress, Drupal of Joomla gebruiken. Dit vormt dan de basis voor het inrichten van de websites van je klanten. De support die je dan levert is het tweaken naar de smaak van je opdrachtgever en het passend maken in de huisstijl. Deze aanpak komt erg veel voor en is vaak zo vanzelfsprekend dat gebruikers ervan niet eens doorhebben dat ze feitelijk een 100% open source bedrijfje runnen.

Het is voelt als programmeur ook vrij logisch om uit te gaan van bestaande code, hoef je minder zelf te programmeren en aan het eind van de streep ook minder door te berekenen aan je klanten. Ook zit je klant niet aan jou vast als ontwikkelaar.

Je kunt support verkopen rond een bestaand product, maar je kunt er ook een zelf ontwikkelen. Red Hat doet dit bijvoorbeeld met hun eigen Red Hat Enterprise Linux. De broncode van RHEL kun je vrijelijk downloaden en verspreiden. Deze programmatuur staat echter niet zozeer centraal. Red Hart verdient zijn geld met de handholding, support en updates. Deze kun je krijgen door een abonnement bij hen af te sluiten en een deel van de inkomsten hiervan worden vervolgens weer gestoken in het doorontwikkelen van hun portefeuille aan open source projecten die zich voornamelijk richten op de enterprisemarkt.

Red Hats aanpak is enorm succesvol en haalde als eerste opensourcebedrijf een jaaromzet van een miljard dollar. Dit neemt echter niet weg dat je dit bussinesmodel ook prima kunt gebruiken als klein softwarebedrijfje of freelancer. Het grote voordeel hiervan is dat je zelf de ontwikkeling van het product kunt sturen en gebruik kunt maken van bugfixes en code van mensen buitenaf. Als je het goed doet is het mogelijk om een gemeenschap rond jouw project te creeëren. Deze enthousiaste gebruikers leveren jou dan weer klanten op die aankloppen voor support.

Wat je je wel moet realiseren is dat het vrij veel tijd kan kosten om zo’n open source project te ontwikkelen. Als je slim bent zoek je klanten die dit mee kunnen financieren. De core developers achter het Erlang webframework Zotonic doen dit bijvoorbeeld handig. Zij maken als verschillende kleine bedrijfjes gebruik van het pakket en breiden het uit aan de hand van de wensen van hun klanten. De code die dit oplevert stroomt regelmatig weer terug in Zotonic. Je kunt er echter niet van uit gaan dat je gelijk al klanten bij je project zal hebben en niet alle open source projecten zijn levensvatbaar. Dit kan dus betekenen dat je weekenden en avonden in een project moet steken, zonder direct uitzicht op geld. Je kunt er dan maar het best een echte passie voor hebben, want anders kun je je beter richten op bestaande systemen.

Als je toch wel gehecht bent aan het traditionele beeld van de softwareverkoper dan zijn er ook mogelijkheden om direct geld te verdienen aan je programmatuur. Ik kom regelmatig thema’s en plugins voor WordPress tegen waarvoor betaald moet worden. Dit lijkt in eerste instantie wat merkwaardig, want de licentie van WordPress vereist dat de daaraan gekoppelde software ook open source is. Dit neemt echter niet weg dat je in navolging van Stallman met GNU Emacs geld kunt vragen. Je biedt je extensie dan aan via een webshop, waar de klant kan afrekenen met bijvoorbeeld PayPal en er zelf mee aan de slag kan. Dat laatste is natuurlijk een vrees van menig traditionele softwareverkoper. Ze zijn bang dat anderen met hun pakket aan de haal gaan en er over hun rug geld mee verdienen. In de praktijk blijkt dit niet zo vaak te gebeuren, want het is vrij veel werk om zo’n pakket te voorzien van het nodige onderhoud. De extensies en thema’s zijn vaak ook dusdanig klein dat het voor andere programmeurs al gauw makkelijker is om hun eigen systeem te programmeren. Deze methode van programmatuur verkopen kom je veel tegen bij onder andere WordPress, Magento, OpenCart, en Joomla.

Je kunt ook je software aanbieden onder twee verschillende licenties. Deze techniek wordt dual licensing genoemd en houdt in dat je enerzijds je pakket beschikbaar maakt onder een vrije licentie, maar anderzijds ook een commerciële gesloten licentie hanteert. Je zorgt er dan voor dat de open source zijde gebruik maakt van copyleft. Dit betekent dat als mensen wijzigingen aanbrengen in de broncode en het pakket verder distribueren, deze wijzigingen ook weer vrijelijk beschikbaar moeten komen onder dezelfde voorwaarden. Bedrijven die hier dan niet veel voor voelen kunnen verkiezen de gesloten licentie aan te schaffen en zodoende hun wijzigingen voor zich te houden. Voor MySQL en Qt wordt zo’n soort systeem gehanteerd en financieel gezien is dit interessant. Een nadeel van dual licensing is wel dat je er waarschijnlijk de wrok van menig vrije software zeloot mee op de hals haalt. Zij zien het verkopen van vrije software in een gesloten pakket als een misdaad en zodra je deze route inslaat is het handig om voorbereid zijn op een mailbox vol kritische berichten. Als je daar tegen kunt en niet zo’n ideologisch aanhanger bent van softwarevrijheid, maar het voornamelijk bekijkt vanuit het praktische nut dan is dit wel een levensvatbaar model om je bedrijf op te baseren.

Er kleeft echter ook voor de pragmatischer medemens een belangrijk nadeel aan dual licensing en dat is het feit dat je alle auteursrechten of toestemming van de programmeurs moet hebben om de software te mogen verkopen onder een andere licentie. Dit zorgt ervoor dat je niet kunt profiteren van bugfixes en code uit de gemeenschap zonder hen ook te vragen om jou het auteursrecht toe te kennen. Ook minder die-hard open source liefhebbers beschouwen dit als onkies. Dus moet je er rekening mee houden dat je voor de ontwikkeling van het project op jezelf bent aangewezen. Dit model is dan ook niet voor een freelancer weggelegd.

Een bepaald smaakje van dual licensing dat de afgelopen jaren sterk is gegroeid wordt ook wel “open core” genoemd. Dit betekent dat je niet alleen meerdere licenties hanteert, maar ook nog bepaalde features ontwikkelt die specifiek bedoeld zijn voor de betaalvariant van je pakket. Zarafa, SugarCRM en Puppet Labs gebruiken dit onder andere. Net als bij het verkopen van gesloten software kan dit financieel gunstig uitpakken, maar naast de algemene kritiek op dual licensing worden deze pakketen vaak als crippleware bestempeld. Deze term stamt nog uit de DOS-tijd waarin je goedkoop floppies kon krijgen met shareware programma’s of spelletjes die maar een klein deel van de functionaliteit hadden. Net genoeg om je naar de gehele software te doen zou verlangen. Het is de vraag of zo’n stempel altijd terecht is, maar wie voor deze route kiest moet daar wel mee kunnen leven.

Er zijn nog meer – creatievere – manieren om geld te verdienen met vrije software. Je kunt donaties vragen voor je project, maar je kunt ook geld proberen te verdienen aan de wens tot gemak van je gebruikers. Het downloaden van een pakketje met broncode, dit compilen en vervolgens aan de gang krijgen kost tijd en met name als het een groot pakket is dat weer afhankelijk is van veel andere paketten dan kan dit snel een dagdeel in beslag nemen. Daarom kun je net als Paul Davis van het digitale audiomontagesysteem Ardour de voorgecompilede pakketjes gaan verkopen. Hier vraag je dan een vriendelijk bedrag voor. Davis vraagt kopers zelf een bedrag in te vullen vanaf 1 dollar. Ook is het mogelijk een financieel evenzeer vriendelijk abonnement af te sluiten. In het geval van Ardour werkt dit vrij aardig. Het project zit in een kleine niche, maar Paul Davis kan er toch van leven. En in tegenstelling tot wat je zou verwachten kiest niet iedereen er voor om het minimumbedrag te betalen. Zijn aanpak leverde Ardour veel sympathie op bij bij de gebruikers en hij heeft nu 276 abonnementhouders die goed zijn voor een bedrag van 1777 dollar per maand.

Je kunt ook geld ophalen via een crowdfunding actie. Dit is erg handig als je een startkapitaal nodig hebt en niet naar de bank wilt. MediaGoblin haalde hiermee 42.000 dollar op. De hoofdontwikkelaar van dit mediapubliceerplatform kan er zo zonder financiële zorgen een jaar aan werken. Dit geeft hem de tijd om een bussinesmodel voor de tijd daarna uit te vogelen. Hij zou hierna de route van WordPress kunnen kiezen en net als WordPress.com een gehoste variant van het pakket kunnen aanbieden.

Zoals je ziet zijn er veel verschillende manier om zaken te doen met vrije software. Of je nu als freelancer support wil leveren voor externe systemen, met een gewaagd project geld van de eindgebruiker vraagt, of je eigen bedrijf wilt oprichten met een eigen product, de gebruiker staat binnen vrije software altijd centraal en zal uiteindelijk jouw succes bepalen. De meest geslaagde open source projecten vormen een eenheid met die gebruikers. Zij leveren bugfixes, vertalingen, suggesties voor verbeteringen en wellicht zelfs hele stukken code. Misschien willen ze het ook zakelijk gebruiken en kun je zo je krachten bundelen. In plaats van een eenzijdig verkoopkanaal ontstaat er een levendige gemeenschap van mensen die een project niet alleen downloaden en installeren, maar ook verbeteren en er zelf deel van uitmaken.

 

Minitel hacken

Jelle Hermsen » Dutch | 17:48, Friday, 17 January 2014

In 2013 heb ik voor Linux Magazine een stuk geschreven waarin ik uitleg hoe ik met een Raspberry Pi een Minitel ombouwde tot een volwaardige GNU/Linux computer.
Download hier de pdf.

Voor aanvullende informatie, aantekeningen en foto’s kun je dit bestand downloaden: http://www.jellehermsen.nl/linuxmagazine/minitel.tar.gz (54mb).

Thursday, 22 August 2013

Carmack over functioneel programmeren

Jelle Hermsen » Dutch | 06:35, Thursday, 22 August 2013

Ik ben dol op de jaarlijkse QuakeCon keynote van John Carmack. Ik volg met name zijn stappen op het gebied van functioneel programmeren met grote interesse.

Als je Carmack op Twitter volgt dan weet je dat hij afgelopen jaar veel met FP geëxperimenteerd heeft. Hij heeft Wolfenstein 3d deels nagebouwd in Haskell en ook veel geprogrammeerd in Scheme via de iOS app “Lisping”. Maar het blijft niet bij experimenten, want hij komt nu voor het eerst met concrete ideeën hoe hij functioneel programmeren in zijn dagelijkse werk bij ID Software kan toepassing in C++. Een switch naar bijvoorbeeld Haskell zullen ze daar niet snel maken, maar dit laat onverlet dat je dezelfde principes ook in een object georiënteerde of procedurele taal kunt gebruiken.

Bijzonder fascinerend, een echte aanrader om te kijken, natuurlijk ook vanwege zijn geweldige toekomstvisie op het gebied van 3D en virtual reality headsets.

Sunday, 14 July 2013

Haskell buiten de universiteitsmuren

Jelle Hermsen » Dutch | 06:33, Sunday, 14 July 2013

Dit is een inspirerend praatje van Bryan O’Sullivan, mede-auteur van Real World Haskell. Hij vertelt hoe hij Haskell gebruikt in zijn eigen startup.

Wie deze functionele programmeertaal de laatste jaren gevolgd heeft, zal het zijn opgevallen dat het langzaam de academische niche aan het uitklimmen is. Het succes van zowel O’Sullivans boek als Learn You A Haskell For Great Good en de relatieve hipheid van Rails/Django-achtig webframework Yesod onderstrepen dit.

Ik ben zelf een enorme fan van functioneel programmeren. Het is, sinds dat ik Miranda/Amanda kreeg op de universiteit mijn favoriete paradigma. Maar deze overtuiging heeft vreemd genoeg mijn dagelijkse werkzaamheden nooit kunnen infiltreren, waar het tot op vandaag OOP is dat de klok slaat.

O’Sullivan legt uit hoe hij Haskell gebruikt en geeft handige tips of het voor jou ook een goede optie is. Tevens beantwoordt hij de zorgen dat de Haskellprogrammeurs niet bepaald aan de boom groeien. Naar mijn tevredenheid moet ik zeggen. Ik ga serieus overwegen om Haskell in mijn werk te gaan gebruiken en anderen hierin ook aan te moedigen.

Nog een klein dingetje dat ik graag uit het filmpje wil lichten is “property based testing”. Als je programmeert dan maak je waarschijnlijk gebruik van unit-tests om te checken of je code zich naar behoren gedraagt. De toepasbaarheid van de unit-test is echter beperkt tot de fantasie van de programmeur, en eerlijk gezegd ook uithoudingsvermogen, want bijzonder inspirerend werk is het geenszins. Met property based testing wordt je code automatisch getest aan de hand van een assertion die je zelf invoert. Je code krijgen zo een heel batterij aan vreemde, ongebruikelijke input te verduren. Dit alles om je programma via deze edge-cases op de knieën te krijgen. Extreem nuttig en niet alleen beschikbaar in Haskell.

Saturday, 13 July 2013

Waarom mobiele web apps traag zijn

Jelle Hermsen » Dutch | 06:31, Saturday, 13 July 2013

Mobiele web apps zijn traag, dat is een feit. Nu ik zelf steeds minder native apps bouw en diezelfde apps vaker in HTML5 en Javascript ontwikkel word ik hier bijna dagelijks mee geconfronteerd.
Dit neemt niet weg dat mobiele web apps extreem handig zijn en voor eenvoudige toepassingen de beste “bang for the buck” leveren aan mijn klanten.

Zoals deze uiterst grondige analyse van Drew Crawford goed uitlegt, ligt de waargenomen snelheid van deze apps aan je invalshoek. Vergeleken met c/c++ en zelfs met Java/Python/Ruby zijn ze ranzig traag, maar als je verwachtingspatroon is afgestemd op websites dan valt het allemaal mee.

Het stuk is echt een aanrader, maar je moet er wel wat tijd voor inruimen, want het is bijzonder uitgebreid. Het deel over garbage collection en het complete gebrek aan controleerbare memory management in Javascript slaat de spijker feilloos op z’n kop.

Al met al is het niet de meest vrolijke boodschap voor de minnaars van de mobiele webtechnieken. Voor deze groep is er gelukkig ook een optimischer kijk voorhanden:
http://danbricklin.com/log/2013_06_19.htm#jsspeed

Monday, 01 July 2013

Dart en de Javascriptsoep

Jelle Hermsen » Dutch | 06:30, Monday, 01 July 2013

De afgelopen dagen heb ik even goed gekeken naar Dart. Deze taal moet als het aan Google ligt in de komende jaren Javascript gaan vervangen als dominante clienttaal voor het web.

Webdevelopers zijn veelpotige wezens. Voor een gemiddeld project maak ik al gauw gebruik van een halfdozijn talen. Html en CSS voor de clientweergave. Javascript (en tegenwoordig vaak Coffeescript) voor rijke webapplicaties. Aan de serverzijde gebruik ik veel PHP (soms Java) met regelmatig een extra taal voor templating, zoals Smarty, of (in het geval van Typo3) Typoscript. Voor de database gebruik ik daar boven op uiteraard SQL en soms PL/pgSQL voor stored procedured.

Zonder talenknobbel kom je niet ver als webprogrammeur en om eerlijk te zijn kijk ik wel eens met milde jaloezie naar collegaprogrammeurs die hun dagen in een wereldje van puur Java of C++ doorbrengen. Maar ik ben ook wel dol op de razendsnelle iteratie van technologie van het web. Bovendien maak ik tegenwoordig steeds meer mobiele apps ook met webtechnieken (dankzij Cordova/Phonegap en goede ondersteuning voor CSS3/HTML5 in webkit). Wat ik erg graag wil is een taal die client en serverside met elkaar verbindt, waardoor het mogelijk is om iets meer analoog aan de prototypische J2EE-developer binnen één taal en programmeeromgeving te leven.

Dankzij recente ontwikkelingen is het vrij onvermijdelijk dat ik over een paar jaar aan server- en clientside dezelfde taal gebruik. Node.js is extreem hip (Javascript op server), in de Haskell hoek gebeuren er allerhande interessante dingen (Yesod/Fay/Happstack) en ook talen als Opa krijgen volop aandacht.

Het probleem met de enorme wirwar aan nieuwe webtalen is dat het moeilijk in te schatten is wat uiteindelijk succesvol gaat worden. Hoe waanzinnig mooi de ontwikkeling van nieuwe talen ook altijd zijn, uiteindelijk draait het om adoptie daarvan.
Haskell is bijvoorbeeld erg academisch en in tegenstelling tot wat veel Haskellfans je zullen zeggen, tamelijk moeilijk te leren. Er is een enorme lijst van talen die gefundeerd zijn op Javascript, maar denk je serieus dat iedereen over een paar jaar Opa, of Objective-J gebruikt? De adoptie van zulke talen is moeilijk en gefragmenteerd. Coffeescript is succesvol, omdat je het razendsnel oppikt en feitelijk niet meer is dan een mooi gepolijst syntaxlaagje. Alsof je hebt besloten slagroom op je appeltaart te nemen, het blijft uiteindelijk appeltaart.
Begrijp me niet verkeerd, ik vind Coffeescript prettig, maar het neemt niet het javascript probleem weg, namelijk dat de taal een rommeltje is. Tot 10.000 regels code zit ik daar niet zo mee, maar op het moment dat het echt heel groot wordt en moet schalen, dan wordt het lastig te managen. Natuurlijk zijn hier allerhande oplossingen voor zoals AngularJS, maar liever switch ik dan naar een andere taal.

Dart is een goede kandidaat. Op het eerste gezicht lijkt het erg op Java, niet erg sexy. Het is sterk gericht op object georiënteerd programmeren, maar heeft in tegenstelling tot Java wel de mogelijkheid om top-level functies toe te voegen. Harige zaken zoals multiple inheritance zijn vermeden en het heeft optionele static typing (nu al “feeble typing” gedoopt). Google is duidelijk erg pragmatisch te werk gegaan en heeft zoveel mogelijk geprobeerd een allemansvriend te maken. Je kunt dus wel raden wat voor een pissige reviews er zijn geweest, want er zijn weinig dingen die zoveel programmeurpedanterie kunnen veroorzaken als een nieuwe taal.

Ik ben zelf niet van het “code is poëzie kamp”. Zelfs de prachtigste stukken Scheme of Erlang zijn nog geen Leo Vroman en hoe elegant je ook functiecompositie kunt toepassen in Scala, het redt het niet bij de verzen van Vasalis.

Ik drijf af. Wat ik bedoel is dat je een programmeertaal een functioneel nut heeft, als een strijkijzer, en uiteindelijk niet te veel in de weg moet zitten. Het is handig als het snel op te pikken is en lijkt op reeds bekende programmeertalen. Het is mooi als de taal probeert te voorkomen dat de programmeur zichzelf of een ander makkelijk in de voet schiet en niet als een vervelende drill sergeant je dwingt regel na regel aan vervelende boilerplate code uit te poepen.
Dart voldoet hier aan. Je kunt er met grote teams mee werken, het moedigt een pragmatische en heldere stijl aan en het heeft een paar features die het leven van een webdev een stuk aangenamer maken.

Die belangrijkste features die mij zo in het oog springen zijn isolates en futures. Isolates zijn een Erlang-achtige elementen om concurrency te regelen aan de hand van afgezonderde beestjes die communiceren aan de hand van boodschappen. Isolates zijn zoals de naam al zegt geïsoleerd en delen dus geen thread. Als je Dart naar Javascript compiled dan worden ze geïmplementeerd aan de hand van web workers.
Futures zijn een handige manier om de enorme callbackkluwen een beetje te handelen.

Al met al ziet Dart er gewoon vrij goed uit. Het is een beetje de “Gilmore Girls” van de nieuwe webtalen, maar dat is expres en zou wel eens goed kunnen zijn voor de populairiteit. Ik zou er weinig bezwaar tegen hebben als ik over een paar jaar voornamelijk programmeer in deze taal, maar mijn milde mening is niet bepaald het ontvangst dat Google heeft gekregen.

Veel programmeurs zijn bang voor een ActiveX-achtig scenario. Dart zal vanwege de VM die Google in Chrome zal stoppen daar een eersteklas burger zijn en voorlopig op de andere browsers omgezet worden naar Javascript. Het lijkt me onrealistisch om te verwachten dat andere browserbakkers, hoe prettig de open source licentie van de VM dan ook is, dit zullen overnemen. Bovendien was de manier waarop Google destijds Dart (toen nog Dash genoemd) aankondigde niet de meest subtiele. Het zou een nieuwe standaard moeten worden en Javascript gaan vervangen.

Ik zie zelf weinig problemen in Javascript an sich. Het is geen mooie taal, maar het heeft nu de status bereikt van de bytecode van het web. Ik denk dat de push voor Dart als nieuwe taal een stuk eenvoudiger zou zijn als Google dat volledig had gerespecteerd. Maar goed, als ze maar voldoende programmeurs achter zich krijgen dan kunnen ze Dart natuurlijk tot nieuwe standaard máken. Dit is echter wel een staaltje powerplay dat de reus uit Redmond ondertussen niet meer aandurft. We zullen zien of deze hoogmoed Dart ten val brengt, of juist als nieuwe top dog boven op de webstack parkeert.

Friday, 28 June 2013

Moddergooien met Bush

Jelle Hermsen » Dutch | 06:26, Friday, 28 June 2013

Bush was een scriptingtaal gebaseerd op Ada 95, maar Bush is niet meer. Deze BUsiness SHell heeft de sprankelijke naam SparForte gekregen (let op de CamelCase).

Erg jammer, want een opstootje met een politiek bijsmaakje is altijd amusant in het vaak zo correcte codewereldje. Meestal blijft de politiek echter beperkt tot digitaal vuistvechten over licenties (gaap).

Maar laten we wel wezen, in verhouding tot het moddergooien zoals dat in de Amerikaanse presidentsverkiezingen gebruikelijk is, lijken veel conflicten tussen programmeerbaarden (m/v) erg veel op peuterspeelzaalonvrede over speelgoed.

Bush, zoals de taal op de site meestal nog genoemd wordt, maakt dit echter meer dan goed in hun vergelijking met andere talen. Dit stukje is overduidelijk getypt zonder handschoenen aan, want de minachting voor elke taal anders dan de eigen en lingua mater Ada wordt niet verhuld.

Python wordt weggezet als lullig scriptingtaaltje. Perl wordt hard aangepakt vanwege zijn acroniem (die overigens niet bestaat, maar laten we de pret niet bederven). Ruby maakt gebruik van “the principle of least surprise” en dat is uiteraard fout. Bush is namelijk het programmeerequivalent van de extreem spontane party favorite. Java heeft een “awkward syntax” en last but not least is QBasic heus niet beter, want kijk: Bush heeft ook een crappy textgebaseerde programmeeromgeving met een blauwe achtergrond.

Heerlijk. Ik mag dat moddergooien wel, hoe onzinnig het ook is. De makers van Bush/SparForte kunnen echter nog wel wat leren. Allereerst zou ik een voorbeeld nemen aan de trots waarmee de “brutally optimizing Scheme compiler” Stalin haar politiek niet bepaald kleurloze naam draagt en voor de verbale vuigheden goed luisteren naar David Heinemeier Hansson.

Thursday, 27 June 2013

Leer Lua in 15 minuten

Jelle Hermsen » Dutch | 06:22, Thursday, 27 June 2013

Via deze tutorial krijg je in 15 minuten een vogelvlucht beeld van Lua.

Lua is een schattige dynamische scriptingtaal die perfect is om te embedden in een groter project. Geliefd onder game-makers, tref je dit beestje aan in menig computerspel. Denk hierbij aan niet mis te verstane namen als World of Warcraft, Civilization V en Painkiller.

Lua is makkelijk te porten (20k regels ansi C), werkt lekker vlot en is ook snel op te pikken. Boeken en tutorials die beloven dat je X in Y minuten kunt leren doorstaan meestal niet een keiharde stopwatchtest, maar deze tutorial geef ik een goeie kans. Het is feitelijk één groot Lua-bestand dat je zo door de interpreter kunt halen. De schrijver laat je alle highlights van de taal zien.

Mijn persoonlijke favorieten: Modula-achtige syntax, functies als eerste klas burgers en de tabel als standaard datastructuur. Ongeacht de syntax doet Lua denken aan Scheme en dat blijkt niet toevallig.

Er is ook een soortgelijke tutorial voor Clojure.

Friday, 15 February 2013

Nederlandstalige Planet

Jelle Hermsen » Dutch | 18:29, Friday, 15 February 2013

Vanaf heden is er ook een Nederlandstalige Planet Fellowship. Ik wil hier zelf in deze kikkertaal gaan posten over vrije software en de FSFE en hoop dat anderen dit voorbeeld volgen. Ik zie met name uit naar het overmatig gebruik maken van de lange samentrekkingen die de spraak in de lage landen rijk is.

Je kunt op je Fellowship blog je posts indelen onder de categorie “Dutch” om ze op deze planet terug te zien. Je moet natuurlijk wel eerst je blog aanmelden aan de planet.

Hasta luego.