Unfortunately the tendency towards closed and controlled environments is spreading. I recently installed Visual Studio Express on Windows 8 and was confronted by an surprising dialog box:

You need a developer licence to just create a Metro-style program. At least Microsoft isn't charging for the license - yet. To get a license you just need a Windows Account (what used to be called a Windows Live account) and there is currently no formal review or application - you are automatically granted a license. Of course this is the release preview and things are going to be different in the final version. What Microsoft says currently seems harmless:

If you have a developer license for Windows 8 Consumer Preview, you can develop and test Windows Metro style apps before the Windows Store certifies them. Developer licenses are free, and you can obtain as many as you need. You don’t need a Store account to get a developer license, but there might be advantages to having this kind of account. For example, you qualify for a longer developer license if you have a Store account.

Before the Store will accept a Metro style app, you must package it and get it certified according to certain rules. If the Store hasn’t certified a Metro style app, it can’t run on Windows unless you have a developer license. (This restriction doesn’t apply to desktop apps.)

The more worrying section is:

Microsoft can detect fraudulent use of a developer license on a registered machine. If Microsoft detects fraudulent use or another violation of the software license terms, the developer license might be revoked. The monitoring process helps ensure the overall health of the app marketplace.

If you want to, you can concentrate on the "overall health of the app marketplace", but "detect fraudulent use" almost certainly means doing anything to damage the profitability of the app marketplace. To complicate things, you can download and run Metro apps that haven't been certified as long as you have a developer licence installed. My guess is that as soon as this starts to be misused in any way to create a backdoor store then "fraudulent use" will be detected.

As well as operating systems, we are now also seeing the rise of the controlled creation and distribution of apps spreading to API's. Facebook has just launched its app center and it gets to say which apps are allowed in. Since when have programmers devolved quality assurance to third parties?

At the moment it all doesn't seem so bad. You can have what looks like freedom to develop under iOS as long as you pay the rent and don't stray so far that you never feel the restrictions of the chain placed around you. You can play ball with Microsoft and get an Account and a licence without paying a cent. It all seems very reasonable and all in the name of keeping the user safe from malware - the smokescreen excuse for creating application monopolies that makes a lot of profit.

You also need to keep in mind that app stores also enforce what is acceptable. Most, for example, reject anything pornographic or offensive - but this is a matter of taste. Most will also refuse apps that offend local sensitivity, but this is often indistinguishable from removing apps that might offend governments. Censorship has a built in "creep" factor which allows it to be bent to the best commercial advantage .

If you want to secure the future of programming, then you really need to support not only the concept of free software but also the free developer. We no longer only need jailbreaks for devices but also for the developer.