Just another step towards a closed, locked down world where every app is vetted, approved and ultimately constrained to not compete with the business interests of the two largest tech companies in the world.
I know, people will say, this hardly makes a difference, right? But all the steps hardly make a difference. OSX Mountain Lion defaulting to only allow apps signed with a certificate from Apple? Why, the user can just disable that ... not including Flash or Java? Sure, just install them! It all hardly makes a difference. But all these steps put together - they make a difference!
Slowly and surely we're being led like lambs to the slaughter to a world where everything we say or do with our technology will be under the control of giant tech companies that ultimately care only about their own profit. This is just one more little step to ensure that developers preferentially make apps for Microsoft's walled garden rather than free apps that run anywhere and might compete with their interests.
Edit: correction about Mac App store vs signed apps
I'd hate to say it but this is where we are going and this includes the web as well. The web is becoming less open and freedoms that once existed are disappearing. China, Iran, SOPA, PIPA, etc. are evidence of this.
The future isn't all that dark but it certainly seems like the "wild west" days of computing are coming to an end.
I think most would agree that this trend is there - the debate is how much it matters, how long it will last, and what, if anything, we should do about it.
One point however: in Mountain Lion, the default is to allow any signed app to be run. One alternative setting is to only allow App Store apps. The other, likely more popular, alternative setting is to allow any app.
Although I think HTML5 is actually a pretty lousy software stack for application development, I'm becoming more and more sympathetic to the arguments that the evolution of the web is absolutely essential for the survival of free & open computing.
It was bad enough that their mobile platforms are so locked down, but with Apple and Microsoft now turning the screws ever tighter on their previously open desktop platforms and development tools the future is looking grim. Remember, once a freedom is relinquished it can be very difficult to get it back.
As much as I dislike trying to build complex apps on the web stack I'm starting to feel an almost moral obligation as a hacker to throw my weight behind the web, for whatever it's worth.
> Remember, once a freedom is relinquished it can be very difficult to get it back.
No, it's not. I'm a huge, huge MS fanboi. I've used WP7 since it launched, I've been using Windows full time for quite a few years now and love it, I'm a huge .NET fan, etc. But about two weeks ago, I switched back to using Linux full-time. I only plan on using Windows in VMs for running software I'm reversing; everything else will be done natively under Linux.
Windows 8 on ARM being so locked down was the last straw. I'm done playing their game, even if it means a slight drop in productivity in the short term.
Agreed. It's unfortunate. I'm not an open source or freedom zealot but good gawd the open web is what gave birth to all the awesomeness we have. Take away "open" and we'll end up with a bunch of software on all of our mobile phones that's the equivalent of IE6 in 2012.
> the evolution of the web is absolutely essential for the survival of free & open computing.
I don't understand the connection. How many of the web services we use are open source? A native program I buy may be closed source, but it runs on my computer and storage and is updated on my terms. I can even legally crack it if that's what it takes to keep it running (as far as I understand German laws). If I use an open-source OS and an open-source web browser to access a standards-based HTML5 web service, what interesting freedom do I have?
Now, Metro may offer a better deal by encouraging local HTML5 apps. But I still think the Open Web is something that underdog browsers should care about, neither users nor developers.
"the web" is just a platform. For some applications it makes sense, for other not so much.
I spend maybe 8 to 12 hours a day in front of some very classic laptops or desktop PCs, and I'm happy with low-latency desktop programs. I don't anticipate this to change.
Maybe the industry sells more mobile devices these days, and that makes it easy to for people to go "all mobile" or "all html5", but a good amount of being actually productive still happens on the old school desktop.
I'm coming to hold this view as well. A much as I dislike web development in general, I plan to do more work there to hedge against this. I like for my software to run anywhere I need it and a web browser seems to be the only place it'll run without vendor interference, but I wonder when they may start attacking browsers?
Will the web be the most "open" platform in the long run though?
What happens if services like amazon AWS put smaller hosts out of business and services like facebook become so ubiquitous that they are considered the "gateway" to the web and most web services are built on top of these APIs?
This doesn't really seem like news to me. I've never met anybody doing real development in the .NET world who didn't have a paid copy of VS.NET.
With BizSpark or similar, you're looking at something like $400 total to get as many copies of VS.NET as you need for your entire team. And all the other dev tools everybody needs. And Windows licenses for all their boxes. And Office. And everything else Microsoft makes.
So even assuming a team size of one, it's still closer to free than it is to a day's worth of your bill rate. Considering how much better the paid version of VS.NET is than the "Express" version, it's not even something worth thinking about.
Given that, the fact that the Free version does this or doesn't do that has pretty much zero bearing on the life of a guy writing software on the Microsoft stack.
> This doesn't really seem like news to me. I've never met anybody doing real development in the .NET world who didn't have a paid copy of VS.NET.
For C/C++ hobbyists and Open Source developers, MSVC used to be the compiler of choice on Windows. The Ruby community has embraced mingw more and more, and I think everyone else will (and should) do the same. Breaks my heart because MSVC has good C++11 support.
I don't think any professional will care about this. In fact, it's probably good news for them (us). Any barrier to entry means slightly less competition.
still closer to free than it is to a day's
worth of your bill rate
That's a really fucked up definition of "free", which gets repeated often by Windows developers, but it isn't anything more than a delusion. And btw, remember that not all of us live on Silicon Valley's fat salaries ;-)
What would be news is if Microsoft is moving from growing their platform to milking it for cash. I think you can see some of that in many of their decisions.
But there's another, more plausible, explanation for this particular move. They want people to create Metro apps and making it cheaper to do that creates an incentive.
+ Freelancer devs will be 'encouraged' to develop for Win 8, an argument can be made this will positively impact Win 8 sells, albeit it will be a difficult argument
- Open source development on Windows will take a hit
- Freelancers will either stick with older and less effective tools, or will choose to abandon Desktop
- Users will tend to get less new software for their Windows 7
+/- Will not affect big corporations, e.g. gamemakers, who use the professional version
- This will provide no additional motivation to bulk of the users (e.g. corporate, gamers) to switch to Windows 8
Actually, for freelancers it is more accessible and less risk to use illegal copies than for companies. Mostly, freelancers are producing sources for the concrete client, they aren't selling/shipping the binaries directly, so no one cares whether they used Notepad++ or Visual Studio.
Freelancer devs will spend the money on the full version of the tools instead of just using the free version. You have to be a pretty small potatoes freelancer to not be able to afford visual studio in some incarnation. See also: graphic artists and photoshop.
It's only Visual Studio 11 Express Edition which is limited to Metro. VS 2010 EE will still be available for developing Windows 8 desktop applications.
How will this affect applications like Matlab 2012 64bit, which require a compiler (such as in the Win 7 SDK) to be installed to use certain features such as SIMULINK?
It's long past time since Visual Studio was the only game in town. Back when it was between VS6 and Borland C++ Builder, I was initially attracted by Builder's drag-and-drop UI construction - it seemed very odd at the time that "Visual" studio didn't offer that functionality. But Borland's descent into bug-ridden stagnation and my discovery of wxWidgets pushed me into the VC++ world for upwards of a decade.
But now with Eclipse reaching maturity (it's the main IDE at the banking multinational where I recently worked), I'm finding less and less justification to stick with Visual Studio when my MSDN subscription expires. Another very promising tool is Qt Creator: http://qt.nokia.com/products/developer-tools
This has less of the UI quirkiness of Eclipse, and the built-in documentation is great. Qt is now using Clang for code validation, but can be set to use Gcc or the Microsoft compiler. So given that I'm using Qt anyway for cross-platform UI, this may be the way forward.
The more accessible the grass route tools the greater the chance of adoption. Adoption for Win8 / RT maybe acceptable with the new Express options but frankly I don't see C# developers of the future applying for licences for IDEs to compile their software. They'll just adopt a different more (immediately) accessible platform. Companies will struggle to recruit for server hosted line of business applications. The ecosystem will suffocate. Managers and engineers will consider different platforms as part of their due diligence, as a result I predict less Windows licences will be sold.
Walled garden platforms are taking over partly because all operating systems are fundamentally broken with regard to privilege isolation, security, and application installability/uninstallability.
The fact is that for the average non-techie user, allowing unsigned/untested apps results in a system full of malware and crappy software that destroys it. That's because the OS is not isolated from apps, and apps are not isolated from each other.
The popularity of virtualization is also due in large part to this. Why can't you just rent accounts on large Linux servers? Why is KVM, OpenVZ/Parallels Virtuozzo, etc. necessary? Because everything requires root and everything pollutes the OS space.
Broken, broken, broken.
The way Macs package .app directories full of all files related to an application is a huge step in the right direction. The next step is to utterly forbid "installers" and make everything work this way, and to add stronger privilege isolation and organized APIs for apps to talk to each other. These should probably be based around peer-to-peer networking so that an app can locate and talk to another app regardless of what box it's on.
That would be significantly less broken.
Then allow apps to have their own addresses. We probably have to wait for IPv6 for this, but not necessarily. Then an app can bind, run services, etc. without requiring root.
Finally, banish the entire concept of root/administrator except for OS developers and OS maintenance. The vast, vast majority of users (even power users) should never need to even know these exist.
The bottom line is that the entire concept of "installing" something "on" the OS needs to be killed. Installers are ugly nasty hacks. Package management (ala rpm, deb, etc.) is also an ugly hack. Signed apps in walled gardens is an even nastier and downright evil hack to get around the brokenness of these ugly hacks.
> The next step is to utterly forbid "installers" and make everything work this way, and to add stronger privilege isolation and organized APIs for apps to talk to each other.
I agree and disagree with you. I would be awesome if I could restrict apps and forbid installers. I'd also like to be able to run arbitrary apps as forbidden to use the internet and make them think they are reading/writing to /some/path/ but they are really reading/writing to /app/sandbox/some/path. I'd love the option.
But then there are problems with that as well. Want to make an app plugin? Nope. Want to share libraries? Nope. Want to talk to an app? Hope it's got a canonical port number.
So I don't think enforcing boundaries is the way to go. I'd love to see other opinions and whether or not there are any alternatives, though.
[+] [-] zmmmmm|14 years ago|reply
I know, people will say, this hardly makes a difference, right? But all the steps hardly make a difference. OSX Mountain Lion defaulting to only allow apps signed with a certificate from Apple? Why, the user can just disable that ... not including Flash or Java? Sure, just install them! It all hardly makes a difference. But all these steps put together - they make a difference!
Slowly and surely we're being led like lambs to the slaughter to a world where everything we say or do with our technology will be under the control of giant tech companies that ultimately care only about their own profit. This is just one more little step to ensure that developers preferentially make apps for Microsoft's walled garden rather than free apps that run anywhere and might compete with their interests.
Edit: correction about Mac App store vs signed apps
[+] [-] technoslut|14 years ago|reply
The future isn't all that dark but it certainly seems like the "wild west" days of computing are coming to an end.
[+] [-] apike|14 years ago|reply
One point however: in Mountain Lion, the default is to allow any signed app to be run. One alternative setting is to only allow App Store apps. The other, likely more popular, alternative setting is to allow any app.
[+] [-] api|14 years ago|reply
It would be hard, but if they do actually push a totally locked down iOS-style platform it'll be the end.
[+] [-] drhowarddrfine|14 years ago|reply
[deleted]
[+] [-] cageface|14 years ago|reply
It was bad enough that their mobile platforms are so locked down, but with Apple and Microsoft now turning the screws ever tighter on their previously open desktop platforms and development tools the future is looking grim. Remember, once a freedom is relinquished it can be very difficult to get it back.
As much as I dislike trying to build complex apps on the web stack I'm starting to feel an almost moral obligation as a hacker to throw my weight behind the web, for whatever it's worth.
[+] [-] daeken|14 years ago|reply
No, it's not. I'm a huge, huge MS fanboi. I've used WP7 since it launched, I've been using Windows full time for quite a few years now and love it, I'm a huge .NET fan, etc. But about two weeks ago, I switched back to using Linux full-time. I only plan on using Windows in VMs for running software I'm reversing; everything else will be done natively under Linux.
Windows 8 on ARM being so locked down was the last straw. I'm done playing their game, even if it means a slight drop in productivity in the short term.
[+] [-] jmathai|14 years ago|reply
[+] [-] gurkendoktor|14 years ago|reply
I don't understand the connection. How many of the web services we use are open source? A native program I buy may be closed source, but it runs on my computer and storage and is updated on my terms. I can even legally crack it if that's what it takes to keep it running (as far as I understand German laws). If I use an open-source OS and an open-source web browser to access a standards-based HTML5 web service, what interesting freedom do I have?
Now, Metro may offer a better deal by encouraging local HTML5 apps. But I still think the Open Web is something that underdog browsers should care about, neither users nor developers.
[+] [-] perlgeek|14 years ago|reply
I spend maybe 8 to 12 hours a day in front of some very classic laptops or desktop PCs, and I'm happy with low-latency desktop programs. I don't anticipate this to change.
Maybe the industry sells more mobile devices these days, and that makes it easy to for people to go "all mobile" or "all html5", but a good amount of being actually productive still happens on the old school desktop.
[+] [-] chj|14 years ago|reply
[+] [-] 16s|14 years ago|reply
[+] [-] jiggy2011|14 years ago|reply
What happens if services like amazon AWS put smaller hosts out of business and services like facebook become so ubiquitous that they are considered the "gateway" to the web and most web services are built on top of these APIs?
[+] [-] jasonkester|14 years ago|reply
With BizSpark or similar, you're looking at something like $400 total to get as many copies of VS.NET as you need for your entire team. And all the other dev tools everybody needs. And Windows licenses for all their boxes. And Office. And everything else Microsoft makes.
So even assuming a team size of one, it's still closer to free than it is to a day's worth of your bill rate. Considering how much better the paid version of VS.NET is than the "Express" version, it's not even something worth thinking about.
Given that, the fact that the Free version does this or doesn't do that has pretty much zero bearing on the life of a guy writing software on the Microsoft stack.
[+] [-] gurkendoktor|14 years ago|reply
For C/C++ hobbyists and Open Source developers, MSVC used to be the compiler of choice on Windows. The Ruby community has embraced mingw more and more, and I think everyone else will (and should) do the same. Breaks my heart because MSVC has good C++11 support.
I don't think any professional will care about this. In fact, it's probably good news for them (us). Any barrier to entry means slightly less competition.
[+] [-] bad_user|14 years ago|reply
[+] [-] fauigerzigerk|14 years ago|reply
But there's another, more plausible, explanation for this particular move. They want people to create Metro apps and making it cheaper to do that creates an incentive.
[+] [-] stephengillie|14 years ago|reply
http://news.ycombinator.com/item?id=4021690
[+] [-] stephengillie|14 years ago|reply
[+] [-] ajasmin|14 years ago|reply
Even if we get free development tools it would sucks if we can't share our work for free.
[+] [-] altrego99|14 years ago|reply
- Open source development on Windows will take a hit
- Freelancers will either stick with older and less effective tools, or will choose to abandon Desktop
- Users will tend to get less new software for their Windows 7
+/- Will not affect big corporations, e.g. gamemakers, who use the professional version
- This will provide no additional motivation to bulk of the users (e.g. corporate, gamers) to switch to Windows 8
- This will further 'encourage' piracy of VS11
[+] [-] exim|14 years ago|reply
[+] [-] InclinedPlane|14 years ago|reply
[+] [-] Musaab|14 years ago|reply
[+] [-] celerity|14 years ago|reply
At least they still allow other compilers and any programming language.
I wish Ubuntu would step up their development resources game, so that it becomes less painful to do anything there.
[+] [-] brudgers|14 years ago|reply
[+] [-] dbcooper|14 years ago|reply
http://www.mathworks.com/support/compilers/R2012a/win64.html
Will there even be a compiler they could licence from MS and bundle?
[+] [-] brudgers|14 years ago|reply
Previous discussion here: http://news.ycombinator.com/item?id=4020222
[+] [-] ruediger|14 years ago|reply
[+] [-] rvkennedy|14 years ago|reply
But now with Eclipse reaching maturity (it's the main IDE at the banking multinational where I recently worked), I'm finding less and less justification to stick with Visual Studio when my MSDN subscription expires. Another very promising tool is Qt Creator: http://qt.nokia.com/products/developer-tools
This has less of the UI quirkiness of Eclipse, and the built-in documentation is great. Qt is now using Clang for code validation, but can be set to use Gcc or the Microsoft compiler. So given that I'm using Qt anyway for cross-platform UI, this may be the way forward.
[+] [-] bartl|14 years ago|reply
[+] [-] benologist|14 years ago|reply
http://blogs.msdn.com/b/visualstudio/archive/2012/05/18/a-lo...
[+] [-] eblackburn|14 years ago|reply
[+] [-] beedogs|14 years ago|reply
[+] [-] api|14 years ago|reply
The fact is that for the average non-techie user, allowing unsigned/untested apps results in a system full of malware and crappy software that destroys it. That's because the OS is not isolated from apps, and apps are not isolated from each other.
The popularity of virtualization is also due in large part to this. Why can't you just rent accounts on large Linux servers? Why is KVM, OpenVZ/Parallels Virtuozzo, etc. necessary? Because everything requires root and everything pollutes the OS space.
Broken, broken, broken.
The way Macs package .app directories full of all files related to an application is a huge step in the right direction. The next step is to utterly forbid "installers" and make everything work this way, and to add stronger privilege isolation and organized APIs for apps to talk to each other. These should probably be based around peer-to-peer networking so that an app can locate and talk to another app regardless of what box it's on.
That would be significantly less broken.
Then allow apps to have their own addresses. We probably have to wait for IPv6 for this, but not necessarily. Then an app can bind, run services, etc. without requiring root.
Finally, banish the entire concept of root/administrator except for OS developers and OS maintenance. The vast, vast majority of users (even power users) should never need to even know these exist.
The bottom line is that the entire concept of "installing" something "on" the OS needs to be killed. Installers are ugly nasty hacks. Package management (ala rpm, deb, etc.) is also an ugly hack. Signed apps in walled gardens is an even nastier and downright evil hack to get around the brokenness of these ugly hacks.
[+] [-] crumblan|14 years ago|reply
I agree and disagree with you. I would be awesome if I could restrict apps and forbid installers. I'd also like to be able to run arbitrary apps as forbidden to use the internet and make them think they are reading/writing to /some/path/ but they are really reading/writing to /app/sandbox/some/path. I'd love the option.
But then there are problems with that as well. Want to make an app plugin? Nope. Want to share libraries? Nope. Want to talk to an app? Hope it's got a canonical port number.
So I don't think enforcing boundaries is the way to go. I'd love to see other opinions and whether or not there are any alternatives, though.
[+] [-] norswap|14 years ago|reply
[+] [-] EtienneK|14 years ago|reply
Oh well, I guess I'll just move to Java to create some games. It worked for Notch :)
[+] [-] bad_user|14 years ago|reply
Also, checkout MonoGame: http://monogame.codeplex.com/
[+] [-] forgotAgain|14 years ago|reply
[+] [-] altrego99|14 years ago|reply
[deleted]