Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
23 lines (16 sloc) 3.84 KB
layout title date comments categories published
post
Open Source Swift
2014-06-04 21:21:59 -0400
true
swift
false

I love Open Source as much as the next programmer. I use plenty of examples of it in my day to day programming life. Open Source rocks. I even once used Linux on my computer solely, in the wasteland year of my computing life between Windows 98 and Mac OS X.

But there's a certain arrogant snobbery amongst the Open Source crowd that takes grip sometimes that's just plain ugly. (Can we call it "Stallmanism"?) The announcement of Swift has brought them back out. Yes, Swift is currently not Open Source. It does, however, have a huge system set up around it for users to file bugs and make suggestions. It's not a tone deaf language. The creator of the language has admitted that there might be major syntax changes before the language goes 1.0 in the fall. Now that it's in the hands of tens of thousands of programmers, who knows what will come up? And the developers of the language are listening.

One part of the Open Source philosophy that I think a lot of people have forgotten about is the idea that you shouldn't open source your project until it's fit for others to play with and change. I'll add to that that it's great to have a single mind driving the language's development in the earliest days. If they're capable of producing such code, let them. Let them do it away from prying eyes and flame wars over silly syntax issues like semi-colons. Let them stay focused. Later on, they can open it up.

Also, what's the point of open sourcing it? Are you going to fork it in any meaningful way? No, because Apple will always and only support their own version of the language. This isn't like Ruby with MRI versus Rubinius and all the rest, where there is no single standard bearer. (Yes, they all try to comply with MRI as much as possible, but none do.) Swift exists to power Apple's eco-system. The Swift that counts is the Swift that runs the apps in the App Store.

The idea that a language is inferior or not worth looking at just because it's not on Github is silly. Swift may someday go open source. After all the changes in the ecosystem we saw Apple announce this week, I can't help but think that everything is up for grabs in Cupertino now. Open source the language? Sure, why not? But only under the sort of open source system that includes a strong dictatorial type at its head to keep things focused and in line for the needs of its originator.

Which brings up another point -- people scoffed at Swift because the language manual was only available in a proprietary format in Apple's iBooks. So what? if it's a language that can only be used in Apple's closed system, what's the point in having documentation that's outside that system? The people who will use it will be able to read it. And in only a few days, tutorials and web sites have sprung up to assist in the learning effort.

Right now, the thing that scares me most about Swift is the political firestorm that might erupt inside Apple. Now that the rest of the company knows about it, there's bound to be internal flame wars and debate on the minute topics that catch fire in large Open Source projects. Adherents to the old philosophies of Objective-C are bound to throw fits about Swift's changes being too much. The conciseness of the language, for example, is bound to be attacked. The people who gave us things like UITableViewControllerDataSourceMethodNamePointer are not going to go down without a fight. That's human nature.

I'm sure Swift isn't perfect, and that there will be changes. I just don't want to see things fall apart or have the positive changes be undone to appease the crowd that Swift is meant to replace. It's a new philosophy behind the language. Let's hope it remembers that in the long term. Backsliding would remove the reasons for its existence.

You can’t perform that action at this time.