Een interessante trend: bedrijven die hun code opensourcen. Apple doet dit nu met programmeertaal Swift, de opvolger van Objective-C. De boodschap van Apple sinds 2014: wil je een iOS-app bouwen, leer dan vooral Swift. In versie 2.0 hoopt Apple een breder publiek te bereiken door Swift grotendeels (compiler én standaard-library) open source beschikbaar te stellen.
Write once, run something something
Dit is momenteel een populaire aanpak van softwaregiganten: maak zoveel mogelijk delen open, zodat ontwikkelaars hun code makkelijk kunnen hergebruiken op meerdere platforms. Microsoft maakte .NET onlangs open (ook compiler en standaard-library) en het wil het ontwikkelaars makkelijk maken om iOS-apps te bouwen naast de Windows 10-apps met een Objective-C compiler (Swift staat in de planning). Ook is het porten van Android-apps betrekkelijk simpel geworden.
Het is de droom van Java in een nieuw jasje: write once, compile to everything. Dat ondermijnt volgens sommige ontwikkelaars de incentive om voor een specifiek platform te ontwikkelen, waarmee bedrijven hun eigen platform minder interessant maken. Maar het idee is dat developers zich één programmeertaal eigen maken en vervolgens apps op elk platform kunnen plaatsen. Wordt iedereen dan een soort full stack-developer? Ho ho, niet zo snel.
Fouten 'open' Objective-C niet herhalen
Apple maakt zijn programmeertaal Swift open source en deze keer niet alleen de compiler. Hoe open is Swift 2.0? Voorganger Objective-C was namelijk deels open source; de compiler die Objective-C in C omzette, was onder een GPL-licentie uitgebracht. Steve Jobs' NeXT was gedwongen de compiler te open sourcen, maar niet de runtime library's. Verder is menig library, neem renderingengine Sprite Kit, propriëtair.
Crossplatform ontwikkelen in Objective-C werd daarmee lastig. Apple lijkt deze fout niet te willen herhalen en geeft nu de compiler en de standaard-library vrij. Het idee is dat ontwikkelaars Swift kunnen gebruiken zonder specifieke Apple-library's aan te spreken. Open library's maken het vervolgens mogelijk dat developers Swift gebruiken om bijvoorbeeld Linux- of Android-applicaties te schrijven met Swift.
Momentum van Swift doorpakken
De meerwaarde ligt voor Apple niet in de taal, maar in de propriëtaire library's. De programmeertaal is juridisch gezien al behoorlijk vrij (hoewel het laatste woord daar nog niet over is gezegd) maar de library's die Apple ermee bouwt - en die ontwikkelaars gebruiken om iOS-apps te maken - niet.
Groot verschil met de open aanpak van Microsoft is dan ook dat het voor Apple niet van belang is of ontwikkelaars applicaties voor andere platforms bouwen, áls ze maar met Swift werken. Het doel van het open beschikbaar stellen van Swift is dan ook niet om iOS-apps overal te laten draaien (dat heeft Apple ook helemaal niet nodig) maar om ontwikkelaars naar de programmeertaal te trekken. Swift heeft behoorlijk wat momentum, deels omdat Objective-C een punchline is geworden in programmeerhumor en deels omdat Apple's platforms al enige jaren zo in trek zijn.
Lees ook:
Felle kritiek op nieuwe Apple Swift programmeertaal
9 dingen die je moet weten over Apple's Swift
10 redenen waarom Swift beter is dan Objective-C
Swift-voorwaarden
De voorwaarden van open en vrije software zijn vastgelegd in de licentie die wordt gebruikt en het maakt nogal uit welke precieze licentie aan Swift 2.0 wordt gekoppeld. Volgens Apple wordt de broncode vrijgegeven onder "een OSI-goedgekeurde vrije softwarelicentie" (in het geval van .NET een MIT-licentie). Dat is dan logischerwijs Apple's eigen vrije licentie APSL of Apache, waaronder Apple eerder netwerksoftware Bonjour uitbracht.
Volgens het Swift-blog wordt er meer informatie vrijgegeven in de aanloop naar het open sourcen van de programmeertaal. Ook moeten er meer details over de nieuwe features naar buiten druppelen deze week op Apple's ontwikkelaarscongres WWDC.
Reageer
Preview