Page 1 of 2
Are you concerned about the way that big companies are trying to take control of what you can and cannot program? Is this an infringement of free speech? Should you care, or just keep playing by the rules and taking the cash?
Once upon a time, not so long ago, a computer was a wondrous thing. It contained the magic needed to do almost anything. All you had to do was get yourself some software and write a program. If you looked around you generally could even find the software needed to program for free. Even if you had to pay good money for a development system never, never, ever, did you have to pay or do anything much to get your program running on real hardware. The programs that you wrote were yours and yours alone. If you wanted to knock together some application or other then, no matter how shoddy the job, you could deploy it and pass it on to anyone who wanted to use it. You could even charge money for it if you could find any users gullible enough to think it worthwhile.
Of course, this level of freedom comes with opportunities for evil. It seems to be a general rule that freedom is always associated with danger, but let us not get too philosophical. The general rule doesn't matter because in this case the specifics are clear and well known. In an unregulated software market some programmers will turn to the darkside and create malware of all kinds from cheap applications that don't do what they say to viruses that install themselves even if you don't want them to.
This is sad but a direct consequence of freedom to program plus the terrible attention to security in the infrastructure that those programs run on.
At the moment we are in the middle of a distinct and serious change to the way programming is regulated. It is a problem as big as SOPA, PIPA or ACTA - and yet it is passing over us without much of a fuss.
The reason for the lack of fuss, and the reason for the change, are both mired in falsehoods. The reasons for the tightening of controls on programming are supposed to be the protection of the end user - they are not. The reasons programmers aren't protesting is that they hope to make a lot more money in the long term - but only some of them will.
Restrictions in the world of IT have usually been related to hardware. Apple not allowing Mac clones is the obvious, but not the first, example. Restrictions on software have usually been about copyright and ownership, not on who can create new applications. The first headline news restriction on programming was probably Apple's iPhone App Store - if you know of an earlier example post a comment. In this case the situation was that you agreed to play by the rules that Apple defined and in return your app was included for sale in the App Store - hence making you very rich. So this is a direct deal - give me your software soul and I will give you riches you can only otherwise dream of.
Of course, to get into the App Store you had to fit in with what was in the best interests of Apple. You basically couldn't do anything controversial, or more importantly you couldn't damage Apple's profits. If you created an app that did something that Apple didn't like, then you couldn't sell it via the App Store. This sounds fair enough until you remember that the App Store is the only way to get apps on to an iOS device. There is no open market in iOS apps.
It also used to be that you couldn't even give your apps away to selected people, but this has been possible for a few years - if not well publicised.
There are three developer programs: Developer, Enterprise and University. The first two are eligible for Ad Hoc distribution to as many as 100 specified devices. That is, you can't just put an iOS application up and tell your friends to download it, you have to specify the particular iOS devices that are going to be allowed to download it.
If you are a Dun&Bradstreet registered company then you can also apply to the Enterprise program, and pay $299 per year to be allowed to distribute your own apps to your own company.
The University program is free and in this case apps can be shared between the members of the "team".
This all sounds very generous but it still feels very claustrophobic when you compare it to the free and easy days of "write a program and do what you will with it". Notice that ad hoc distribution is supposed to be for testing purposes only and you still have to remember to renew your $99 subscription each year. The Enterprise program is better but you still have to pay every year and why should another company control what you can place on your company's hardware?
If this situation seems reasonable to you, then it just goes to demonstrate how far we have moved down the road of closed development. Why should you pay a per- year amount to run programs on hardware that you own?
You can make a case that it is something to do with stopping malware and protecting the user, but if you analyze the way things are set up the restrictions are there to stop developers selling their creations in any other store than Apple's.
This is the real reason the lid is so tight - you can only distribute to 100 specified devices or to devices within the company. In either case you need certificates from Apple and it can revoke your rights if it feels that you are breaking the terms of the agreement aka doing anything damaging to Apple.
Before you think that this is just a mobile phenomenon, it is very likely to spread to desktop Macs before too long under the guise of allowing desktop apps into the app store.
This is so far from the freedoms we are familiar with that is is shocking that programmers flock to create iOS. Especially so when there are much freer alternatives - notably Linux/Android and Windows/WP7.