I would have a problem if a government required DRM on all computers. I have a problem with CIA back doors into encryption schemes, monitoring international calls, etc.
But DRM is not about control it's about cooperation. The technology merely enforces the cooperative agreement in an extremely inexpensive, efficient way. When various hardware and software companies collaborate to create strong hardware-based DRM, it is due to cooperation toward a greater goal and has NOTHING to do with the state.
When you use iTunes, you read a simple agreement that contains too much legalese but is easy to understand the gist of. You get to burn up to 10 copies of a playlist to CD, and can copy your music to 5 computers. Songs cost $1 each, and sometimes there is a discount if you buy the whole album. Albums typically cost $5 less than they do at the local record store, so in addition to getting increased convenience in the form of an instant download you also get a price savings. You also get the DRM restrictions.
If the deal makes sense to you, you should buy songs from iTunes. If not, you should buy them from the record store. I prefer iTunes because I like the convenience and cost savings, and I rarely buy full albums. You may not. I very much enjoy the fact that I have the freedom to choose which method I want. I don't consider iTunes evil. On the contrary, it is a great gift to humanity that has improved my quality of life immensely.
If I know what I'm getting via iTunes usage agreement and I choose to use iTunes because I consider it a better value than the record store, how is that wrong?
If you're making the argument that just because you bought a copy of a CD you should be able to burn copies for the entire world then we have very little to discuss because you seem to think that record companies should be able to survive by selling a single copy of each album they produce.
Ok, so you admit that you are happy to take away others' freedom.
DRM is absolutely not a police state. It is simply an enforcement mechanism for the license by which the content is made available to you.
In a free society, transactions should be mutually voluntary. Nobody should force you to buy anything and you shouldn't force anyone to sell you anything.
If a firm decides to sell content X only if certain rules are followed by the purchaser, then unless those rules are enforcable the firm won't sell the content.
Similarly, if the rules are not acceptable to the consumer, he should not make the purchase.
When a transaction does occur then, it's due to full mutual freedom of both parties, and the enforcement mechanism is a very inexpensive and efficient way for the firm to have confidence that the agreement isn't going to be broken by the purchaser.
Suppose you signed a contract with an employer to do a job for a salary and you got less pay or more work than you bargained for. That would be a breach of the contract, which is what you seem to think you ought to be able to do with content. It's wrong. Nobody OWES you any content. If you buy content you buy the TERMS that the SELLER WISHES to ALLOW, and no more or no less.
Just because something is music on a CD or download doesn't mean you get unlimited right to give a copy to everyone in the world. That argument is incredibly absurd. If a DRM system is too restrictive for your taste, buy the same content from a vendor with different DRM or else don't buy the content. It's your FREE CHOICE.
I'm not under the impression that the change will be forced, but it will force a lot of things:
Consider:
Projects that do fork will have to find two sets of maintainers instead of one, likely duplicating a ton of effort. Microsoft couldn't have engineered a better way to take the wind out of Open Source's sails and slow down the development of key libraries, etc.
This will force apps and distros to choose their various versions, and force tons of work upon developers and maintainers.
Meanwhile, the anti-DRM clause is a finger in the eye of businesses who want to embrace both Open Source and DRM. DRM quite simply is not evil. Users have a choice. By forbidding all DRM with GPL3'ed code, the FSF essentially screws over entrepreneurs who have been working on such code with the idea that the libraries they rely upon wouldn't likely change licenses. This won't be the case for every project, but it will surely kill some projects.
Most importantly, DRM is the future of content distribution and the move significantly marginalizes the GPL and everyone who has supported it over the years and makes us all look like anti-DRM jihadis.
Instead of this move, it would have made more sense to simply engineer a better, fairer, more technologically advanced form of DRM. Admittedly, many of the existing approaches have lacked flexibility and creativity and have been a pain to use... However I've still bought more music on iTunes in the past year than I ever bought via CD... I did so willingly because of the convenience and quality, with full awareness of the tradeoffs.
You are actually proving my point with your sigfile.
DRM makes the police state not required, all that is required is a tiny piece of software that users may opt in or out of installing.
You may not choose to use an app that contains DRM. I do choose to use them (iTunes being one). What sense does it make for the FREE SOFTWARE foundation to attempt to take away my freedom to use DRM'ed software written using the latest version of all GPL'ed libraries?
The whole notion is anti-freedom, and it's probably going to create all kinds of forking of projects that could really use cohesion (or flat out behind-the-scenes GPL violation).
It's a bad idea. DRM is a good idea as long as we have a choice, which we do. If you don't want to use iTunes, don't use it. If I want to create an iTunes competitor using the best Open Source libraries, why should I be prevented from doing that by the FSF?
What difference does it make? Why can't the would-be users of the software decide whether or not the DRM is too intrusive? Why take away their freedom?
All businesses should be possible with free software, not just the ones the FSF likes. It's called freedom. Similarly, the user should be free to use whatever software he/she likes, regardless of whether it has DRM.
I'm happy to read that Linus appears to have a lot more sense than the FSF people who are so anti-business that they want to sabotage many of the businesses who embraced open source.
What a rude awakening the GPL3 has the potential to foster, as firms go fleeing back to closed source alternatives in order to comply.
It will cost companies money, but they will figure out ways to use licenses that don't prevent them from engaging in a legitimate business model (DRM).
I am profoundly disappointed that this has happend. It has made the GPL no longer only relevant to the agreement between software producer and user/reuser, but tries to control how people use the software.
It is draconian.
I hope all open source supporters realize that this is bad (even if you do have 60GB of pirated content on your hard drive). It will only prevent strong advocates like Tivo and Google from being able to use GPL'ed software. It will force them to use other licenses (BSD, MS EULA, etc.) to accomplish their business goals.
Microsoft and Google both have their own PR departments, and any purchase of Opera would be targeted at 1) the code, and 2) some of the developers. The rest of the employees would probably not know anything about it. At best, the owners of the company, a major shareholder or two, and possibly a few key people who need to be given an incentive to stick around after the acquisition will be informed. The rest may be kept on board as a gesture of good will or may be let go unceremoniously a few weeks later.
With low bandwidth connections, the quality of the experience of accessing information over the web is lower, and so people access less.
It is true that broadband has allowed pages to be bigger than before, but trends in UI design have also resulted in more text and fewer images, and with mod_gzip a mostly text/css site ends up being a lot lighter than its image/table predecessor.
I suspect that if you decreased the quality of the surfing experience by introducing about 1.5 seconds of latency into each web request (this would add up as most pages require multiple requests), you'd see the bandwidth utilization drop as people thought more carefully before clicking on links, etc.
I'd consider setting up a file share (nfs, samba, etc.) that is on a machine with plenty of storage space. ReiserFS 4 offers a compression module that would be perfect for this. It would make sense to set the FS to compress heavily, since transfer speed is less critical. Your friend could probably get about 6:1 compression I'd guess, which with 400 GB of storage in an LVM array would hold over 1200 photo sessions. This should be enough to last him a few years. In all liklihood in 3 years he'll be able to buy a 1 TB drive for under $300, which he could add to the storage array quite easily.
Add in some software raid for automatic redundancy and you have a fast, cheap, high compression solution that is scalable into the foreseeable future.
It's not the quality that matters, it's what a company is willing to do when there is a problem. Apple released a dud with the 5300. That is forgivable.
But the fact that Apple completely left customers high and dry (a six month wait before a recall was issued that didn't even fix the problems, and no option for the customer to simply return the machine for the full purchase price) is unforgivable.
I hadn't bought another piece of Apple hardware since the 5300 until I bought an iPod shuffle. The credibility lost from leaving your customers high and dry takes a long time to make up.
I've used PowerPoint (and Impress) to do UI mock-ups,.. The nice thing is that it's clearly not actual web/software widgets that are being used, so nobody really expects the final version to look exactly like the powerpoint version. Also, it is easy for anyone to change or update the document. I turn off the snap to grid feature which greatly improves the usability of PowerPoint, and build any standard widgets by grouping boxes and text as needed.
I'm still optimistic that a better tool may exist, but I've had good results with this approach when discussing UI design issues.
This experiment is very cool if you've studied generative linguistics. It brings the idea of innate (or universal grammar) into an experimental paradigm. Of course, there are many shortcomings, such as the contrived nature of the symbols and their visual nature, but at its core this experiment could pave the way for all kinds of incredible experiments and perhaps allow cognitive scientists and linguistic syntacticians to have some productive dialogues (surprisingly, they currently don't really do this)...
I don't disagree that many of those apps may have had to be rewritten, but at least people had a choice. In the corporate world people don't always respond to logic as well as they respond to a prototype. So if you think of all the time wasted trying to use logic to persuade a boss, compared to the time saved by simply showing her a rapidly built prototype, it's clear how much efficiency is added by a tool like VB.
Ruby on Rails uses the same justification in its mission statement, and it's fantastic.
C# isn't the state of the art, but it's a mainstream language that represents an incremental improvement over the mainstream status quo. Sure lisp is a great language, but when you have a programming workforce that already knows C and maybe Java, innovating by completely reinventing the syntax isn't necessarily going to capture people's imagination. Languages are evolving toward lisp (think about the lambda expressions now in the latest C# spec and how those will improve db related code). At the time of lisp, and still today to an extent, compiled c was faster than lisp for most things, so programmers learned C syntax. Thus, Microsoft has chosen to try to combine lisplike features with c syntax in a powerful way. They have one of the best language designers doing it, and it's innovative work. It's certainly not trivial work, and it deserves respect.
There are existing constraints imposed by the kind of software problems that need solving, and the current talent pool of developers, and so you shouldn't only judge innovation in light of some idealized world where those constraints don't exist. In medicine, there is both the kind of innovation that results in the ability to spend $10M to keep someone alive another week, and the kind that costs $1 and makes $10M people.00001% less likely to die. Microsoft is good at the small innovations that confer a small benefit to a large number of people.
You missed my point. Packaging and marketing are areas where there is plenty of room for innovation.
Arguably, all major programming language concepts have been around for quite some time. Java borrowed from both C and Smalltalk, does that make it non-innovative? No, the innovation is in the packaging of features. Most innovation is actually repackaging and combining of existing innovations. Think about that and you'll realize it's true.
Similarly, MS borrowed from a variety of existing languages and products when it created VB. For most people the VB syntax is simpler than Smalltalk message syntax. Smalltalk was the first OO language I learned, so I have a soft spot in my heart for it, but VB and the associated IDE was demanded so strongly by the marketplace because of the many small innovations that made the overall product remarkable.
A human is a monkey with a slightly larger neocortex. So by your logic the human does not represent an innovation. It's a question of how possible it is to leverage the smallest innovation that is how we ought to judge the overall innovativeness of a product.
With VB the innovation was in giving Developers the ability to make that tradeoff, of rapid app development.. the side-effect was that it empowered a lot of people to write apps that they never would have dreamed of trying to write w/o it.
C# includes a variety of concepts from other more academic languages that are not found in Java. C# was a small innovation. If you ask most developers if they were starting a project from scratch which language they'd rather use all else being equal, most would probably prefer C#.... That excludes the Java libraries and the.net framework from consideration, but the point is that C# advanced the state of the art in language design while maintaining the c style syntax... .
Repackaging may indeed be innovation. Who "invented" the mobile phone? It was a combination of a phone and a radio. One can break apart things that people consider innovations into a set of pre-existing things ad-infinitum. It's all mostly re-use, except in the rarest of occasions, and that doesn't make it less innovative.
VB was innovative exactly because it allowed non-experts to write code. That was its design goal, a goal to which it far exceeded expectations. There is always a tradeoff when you write quick and dirty code, whether you're an expert or a novice. Sometimes the tradeoff is worthwhile, other times it's not. VB gave developers more choice in the matter, which is a good thing. It took an in-depth understanding of how software gets written for MS to realize that such a product was needed.
Of course, hypercard was innovative, and who knows, if MacOS had surpassed Windows it could have evolved into something a called Hypercard.net...
My examples may not be the best ones. But I think it's a mistake only to think of specific product innovations. Maybe the innovation is to hire the right team of people to create a mass-marketable product? Maybe the innovation is marketing the product so that it is embraced by corporate America, etc., etc.
There is some cool stuff happening at google labs. I'm most excited about things like Ruby on Rails that will let people start to innovate more quickly at the level of actual product, rather than needing a huge team to write all of the "plumbing" code underneath. I think things like WikiPedia and del.icio.us are very innovative, and Apple keeps impressing me with various small but innovative aspects of iTunes (I love iMixes).
There really aren't any major magic innovations that require a specialized team of phD researchers to accomplish. Most CS grads these days have enough of a foundation in algorithms to handle the hard part of any innovation, and there are so many great tools out there to help people build prototypes of their great ideas quickly, without the need for huge labs, etc.
Look at the work being done by the GroupLens project at UMN....it's some of the most exciting in CS in my opinion.
We are now entering the phase where more of the innovation will feel more "cultural" than "technological"... as we approach singularity (per Ray Kurzweil's definition)...
My point is that Sun and MS both innovated in their own ways. MS has a higher performance bytecode model that allows the compiler to make use of more typing information for optimizations.
There may have been other easy to use IDE platforms out there prior to VB, but it was VB that caught fire. Why? Because of the small innovations that made it slightly better. It may have been worse in few areas too, but those areas may not have been of primary importance to the majority of users. Microsoft's innovation may have just been to put all of the existing innovative ideas into one product and to successfully get developers excited about it. As any ivory tower language enthusiast can tell you, that is no small task.
I think what you are arguing is that customers are stupid and that they aren't able to choose the better product. If Java had 100% of the innovation and MS 0%, why has c# and.net gotten such wide adoption so far and sparked such a large enthusiast community? Why has it captured the imagination of Miguel deIcaza, one of the Open Source world's leading innovators and visionaries, in the form of the Mono project (which is quite mature, I might add)?
Maybe Microsoft's innovations are not even primarily technological... Maybe they are marketing innovations or packaging innovations or distribution innovations... and they may all be quite small and fraught with problems, but that doesn't mean that the combined weight of all of them hasn't made a huge and beneficial impact on the state of the art in software.
The elegance of C# is that someone doesn't have to wade through all that other cruft you mention before she gets to the good stuff. Both C# and Java are innovative. I'd say Java was more innovative, but that doesn't mean that C# isn't somewhat innovative.
I like Rails a lot too. I suspecdt Rails will have a similar kind of impact on web development to the one that VB had on windows software development. In essence all VB did was adopt a whole slew of conventions that made it easy to write windows gui apps. The language syntax is what usually gets criticized, but that is less relevant (though the simple late binding was very useful in a lot of ways, and innovative for a mainstream language at the time) than the way that the conventions adopted by the VB platform helped speed up and simplify development.
DRM is hardly an agent of the state.
I would have a problem if a government required DRM on all computers. I have a problem with CIA back doors into encryption schemes, monitoring international calls, etc.
But DRM is not about control it's about cooperation. The technology merely enforces the cooperative agreement in an extremely inexpensive, efficient way. When various hardware and software companies collaborate to create strong hardware-based DRM, it is due to cooperation toward a greater goal and has NOTHING to do with the state.
When you use iTunes, you read a simple agreement that contains too much legalese but is easy to understand the gist of. You get to burn up to 10 copies of a playlist to CD, and can copy your music to 5 computers. Songs cost $1 each, and sometimes there is a discount if you buy the whole album. Albums typically cost $5 less than they do at the local record store, so in addition to getting increased convenience in the form of an instant download you also get a price savings. You also get the DRM restrictions.
If the deal makes sense to you, you should buy songs from iTunes. If not, you should buy them from the record store. I prefer iTunes because I like the convenience and cost savings, and I rarely buy full albums. You may not. I very much enjoy the fact that I have the freedom to choose which method I want. I don't consider iTunes evil. On the contrary, it is a great gift to humanity that has improved my quality of life immensely.
If I know what I'm getting via iTunes usage agreement and I choose to use iTunes because I consider it a better value than the record store, how is that wrong?
If you're making the argument that just because you bought a copy of a CD you should be able to burn copies for the entire world then we have very little to discuss because you seem to think that record companies should be able to survive by selling a single copy of each album they produce.
Good points.
I personally disagree with the FSF's stance on the issue, but you make a series of very good points.
Ok, so you admit that you are happy to take away others' freedom.
DRM is absolutely not a police state. It is simply an enforcement mechanism for the license by which the content is made available to you.
In a free society, transactions should be mutually voluntary. Nobody should force you to buy anything and you shouldn't force anyone to sell you anything.
If a firm decides to sell content X only if certain rules are followed by the purchaser, then unless those rules are enforcable the firm won't sell the content.
Similarly, if the rules are not acceptable to the consumer, he should not make the purchase.
When a transaction does occur then, it's due to full mutual freedom of both parties, and the enforcement mechanism is a very inexpensive and efficient way for the firm to have confidence that the agreement isn't going to be broken by the purchaser.
Suppose you signed a contract with an employer to do a job for a salary and you got less pay or more work than you bargained for. That would be a breach of the contract, which is what you seem to think you ought to be able to do with content. It's wrong. Nobody OWES you any content. If you buy content you buy the TERMS that the SELLER WISHES to ALLOW, and no more or no less.
Just because something is music on a CD or download doesn't mean you get unlimited right to give a copy to everyone in the world. That argument is incredibly absurd. If a DRM system is too restrictive for your taste, buy the same content from a vendor with different DRM or else don't buy the content. It's your FREE CHOICE.
I'm not under the impression that the change will be forced, but it will force a lot of things:
Consider:
Projects that do fork will have to find two sets of maintainers instead of one, likely duplicating a ton of effort. Microsoft couldn't have engineered a better way to take the wind out of Open Source's sails and slow down the development of key libraries, etc.
This will force apps and distros to choose their various versions, and force tons of work upon developers and maintainers.
Meanwhile, the anti-DRM clause is a finger in the eye of businesses who want to embrace both Open Source and DRM. DRM quite simply is not evil. Users have a choice. By forbidding all DRM with GPL3'ed code, the FSF essentially screws over entrepreneurs who have been working on such code with the idea that the libraries they rely upon wouldn't likely change licenses. This won't be the case for every project, but it will surely kill some projects.
Most importantly, DRM is the future of content distribution and the move significantly marginalizes the GPL and everyone who has supported it over the years and makes us all look like anti-DRM jihadis.
Instead of this move, it would have made more sense to simply engineer a better, fairer, more technologically advanced form of DRM. Admittedly, many of the existing approaches have lacked flexibility and creativity and have been a pain to use... However I've still bought more music on iTunes in the past year than I ever bought via CD... I did so willingly because of the convenience and quality, with full awareness of the tradeoffs.
You are actually proving my point with your sigfile.
DRM makes the police state not required, all that is required is a tiny piece of software that users may opt in or out of installing.
You may not choose to use an app that contains DRM. I do choose to use them (iTunes being one). What sense does it make for the FREE SOFTWARE foundation to attempt to take away my freedom to use DRM'ed software written using the latest version of all GPL'ed libraries?
The whole notion is anti-freedom, and it's probably going to create all kinds of forking of projects that could really use cohesion (or flat out behind-the-scenes GPL violation).
It's a bad idea. DRM is a good idea as long as we have a choice, which we do. If you don't want to use iTunes, don't use it. If I want to create an iTunes competitor using the best Open Source libraries, why should I be prevented from doing that by the FSF?
What difference does it make? Why can't the would-be users of the software decide whether or not the DRM is too intrusive? Why take away their freedom?
All businesses should be possible with free software, not just the ones the FSF likes. It's called freedom. Similarly, the user should be free to use whatever software he/she likes, regardless of whether it has DRM.
I'm happy to read that Linus appears to have a lot more sense than the FSF people who are so anti-business that they want to sabotage many of the businesses who embraced open source.
What a rude awakening the GPL3 has the potential to foster, as firms go fleeing back to closed source alternatives in order to comply.
Thanks Linus!
This will signify the end of the GPLs evolution.
It will cost companies money, but they will figure out ways to use licenses that don't prevent them from engaging in a legitimate business model (DRM).
I am profoundly disappointed that this has happend. It has made the GPL no longer only relevant to the agreement between software producer and user/reuser, but tries to control how people use the software.
It is draconian.
I hope all open source supporters realize that this is bad (even if you do have 60GB of pirated content on your hard drive). It will only prevent strong advocates like Tivo and Google from being able to use GPL'ed software. It will force them to use other licenses (BSD, MS EULA, etc.) to accomplish their business goals.
Microsoft and Google both have their own PR departments, and any purchase of Opera would be targeted at 1) the code, and 2) some of the developers. The rest of the employees would probably not know anything about it. At best, the owners of the company, a major shareholder or two, and possibly a few key people who need to be given an incentive to stick around after the acquisition will be informed. The rest may be kept on board as a gesture of good will or may be let go unceremoniously a few weeks later.
I can't believe this story was posted.
With low bandwidth connections, the quality of the experience of accessing information over the web is lower, and so people access less.
It is true that broadband has allowed pages to be bigger than before, but trends in UI design have also resulted in more text and fewer images, and with mod_gzip a mostly text/css site ends up being a lot lighter than its image/table predecessor.
I suspect that if you decreased the quality of the surfing experience by introducing about 1.5 seconds of latency into each web request (this would add up as most pages require multiple requests), you'd see the bandwidth utilization drop as people thought more carefully before clicking on links, etc.
I'd consider setting up a file share (nfs, samba, etc.) that is on a machine with plenty of storage space. ReiserFS 4 offers a compression module that would be perfect for this. It would make sense to set the FS to compress heavily, since transfer speed is less critical. Your friend could probably get about 6:1 compression I'd guess, which with 400 GB of storage in an LVM array would hold over 1200 photo sessions. This should be enough to last him a few years. In all liklihood in 3 years he'll be able to buy a 1 TB drive for under $300, which he could add to the storage array quite easily.
Add in some software raid for automatic redundancy and you have a fast, cheap, high compression solution that is scalable into the foreseeable future.
It's not the quality that matters, it's what a company is willing to do when there is a problem. Apple released a dud with the 5300. That is forgivable.
But the fact that Apple completely left customers high and dry (a six month wait before a recall was issued that didn't even fix the problems, and no option for the customer to simply return the machine for the full purchase price) is unforgivable.
I hadn't bought another piece of Apple hardware since the 5300 until I bought an iPod shuffle. The credibility lost from leaving your customers high and dry takes a long time to make up.
I've used PowerPoint (and Impress) to do UI mock-ups,.. The nice thing is that it's clearly not actual web/software widgets that are being used, so nobody really expects the final version to look exactly like the powerpoint version. Also, it is easy for anyone to change or update the document. I turn off the snap to grid feature which greatly improves the usability of PowerPoint, and build any standard widgets by grouping boxes and text as needed.
I'm still optimistic that a better tool may exist, but I've had good results with this approach when discussing UI design issues.
This experiment is very cool if you've studied generative linguistics. It brings the idea of innate (or universal grammar) into an experimental paradigm. Of course, there are many shortcomings, such as the contrived nature of the symbols and their visual nature, but at its core this experiment could pave the way for all kinds of incredible experiments and perhaps allow cognitive scientists and linguistic syntacticians to have some productive dialogues (surprisingly, they currently don't really do this)...
If anyone at Microsoft is reading this, Monad would be a very good product to release under Shared Source.
I don't disagree that many of those apps may have had to be rewritten, but at least people had a choice. In the corporate world people don't always respond to logic as well as they respond to a prototype. So if you think of all the time wasted trying to use logic to persuade a boss, compared to the time saved by simply showing her a rapidly built prototype, it's clear how much efficiency is added by a tool like VB.
.00001% less likely to die. Microsoft is good at the small innovations that confer a small benefit to a large number of people.
Ruby on Rails uses the same justification in its mission statement, and it's fantastic.
C# isn't the state of the art, but it's a mainstream language that represents an incremental improvement over the mainstream status quo. Sure lisp is a great language, but when you have a programming workforce that already knows C and maybe Java, innovating by completely reinventing the syntax isn't necessarily going to capture people's imagination. Languages are evolving toward lisp (think about the lambda expressions now in the latest C# spec and how those will improve db related code). At the time of lisp, and still today to an extent, compiled c was faster than lisp for most things, so programmers learned C syntax. Thus, Microsoft has chosen to try to combine lisplike features with c syntax in a powerful way. They have one of the best language designers doing it, and it's innovative work. It's certainly not trivial work, and it deserves respect.
There are existing constraints imposed by the kind of software problems that need solving, and the current talent pool of developers, and so you shouldn't only judge innovation in light of some idealized world where those constraints don't exist. In medicine, there is both the kind of innovation that results in the ability to spend $10M to keep someone alive another week, and the kind that costs $1 and makes $10M people
You missed my point. Packaging and marketing are areas where there is plenty of room for innovation.
Arguably, all major programming language concepts have been around for quite some time. Java borrowed from both C and Smalltalk, does that make it non-innovative? No, the innovation is in the packaging of features. Most innovation is actually repackaging and combining of existing innovations. Think about that and you'll realize it's true.
Similarly, MS borrowed from a variety of existing languages and products when it created VB. For most people the VB syntax is simpler than Smalltalk message syntax. Smalltalk was the first OO language I learned, so I have a soft spot in my heart for it, but VB and the associated IDE was demanded so strongly by the marketplace because of the many small innovations that made the overall product remarkable.
A human is a monkey with a slightly larger neocortex. So by your logic the human does not represent an innovation. It's a question of how possible it is to leverage the smallest innovation that is how we ought to judge the overall innovativeness of a product.
With VB the innovation was in giving Developers the ability to make that tradeoff, of rapid app development.. the side-effect was that it empowered a lot of people to write apps that they never would have dreamed of trying to write w/o it.
.net framework from consideration, but the point is that C# advanced the state of the art in language design while maintaining the c style syntax... .
C# includes a variety of concepts from other more academic languages that are not found in Java. C# was a small innovation. If you ask most developers if they were starting a project from scratch which language they'd rather use all else being equal, most would probably prefer C#.... That excludes the Java libraries and the
Repackaging may indeed be innovation. Who "invented" the mobile phone? It was a combination of a phone and a radio. One can break apart things that people consider innovations into a set of pre-existing things ad-infinitum. It's all mostly re-use, except in the rarest of occasions, and that doesn't make it less innovative.
VB was innovative exactly because it allowed non-experts to write code. That was its design goal, a goal to which it far exceeded expectations. There is always a tradeoff when you write quick and dirty code, whether you're an expert or a novice. Sometimes the tradeoff is worthwhile, other times it's not. VB gave developers more choice in the matter, which is a good thing. It took an in-depth understanding of how software gets written for MS to realize that such a product was needed.
Of course, hypercard was innovative, and who knows, if MacOS had surpassed Windows it could have evolved into something a called Hypercard.net...
My examples may not be the best ones. But I think it's a mistake only to think of specific product innovations. Maybe the innovation is to hire the right team of people to create a mass-marketable product? Maybe the innovation is marketing the product so that it is embraced by corporate America, etc., etc.
There is some cool stuff happening at google labs. I'm most excited about things like Ruby on Rails that will let people start to innovate more quickly at the level of actual product, rather than needing a huge team to write all of the "plumbing" code underneath. I think things like WikiPedia and del.icio.us are very innovative, and Apple keeps impressing me with various small but innovative aspects of iTunes (I love iMixes).
.it's some of the most exciting in CS in my opinion.
There really aren't any major magic innovations that require a specialized team of phD researchers to accomplish. Most CS grads these days have enough of a foundation in algorithms to handle the hard part of any innovation, and there are so many great tools out there to help people build prototypes of their great ideas quickly, without the need for huge labs, etc.
Look at the work being done by the GroupLens project at UMN...
We are now entering the phase where more of the innovation will feel more "cultural" than "technological"... as we approach singularity (per Ray Kurzweil's definition)...
My point is that Sun and MS both innovated in their own ways. MS has a higher performance bytecode model that allows the compiler to make use of more typing information for optimizations.
.net gotten such wide adoption so far and sparked such a large enthusiast community? Why has it captured the imagination of Miguel deIcaza, one of the Open Source world's leading innovators and visionaries, in the form of the Mono project (which is quite mature, I might add)?
There may have been other easy to use IDE platforms out there prior to VB, but it was VB that caught fire. Why? Because of the small innovations that made it slightly better. It may have been worse in few areas too, but those areas may not have been of primary importance to the majority of users. Microsoft's innovation may have just been to put all of the existing innovative ideas into one product and to successfully get developers excited about it. As any ivory tower language enthusiast can tell you, that is no small task.
I think what you are arguing is that customers are stupid and that they aren't able to choose the better product. If Java had 100% of the innovation and MS 0%, why has c# and
Maybe Microsoft's innovations are not even primarily technological... Maybe they are marketing innovations or packaging innovations or distribution innovations... and they may all be quite small and fraught with problems, but that doesn't mean that the combined weight of all of them hasn't made a huge and beneficial impact on the state of the art in software.
The elegance of C# is that someone doesn't have to wade through all that other cruft you mention before she gets to the good stuff. Both C# and Java are innovative. I'd say Java was more innovative, but that doesn't mean that C# isn't somewhat innovative.
I like Rails a lot too. I suspecdt Rails will have a similar kind of impact on web development to the one that VB had on windows software development. In essence all VB did was adopt a whole slew of conventions that made it easy to write windows gui apps. The language syntax is what usually gets criticized, but that is less relevant (though the simple late binding was very useful in a lot of ways, and innovative for a mainstream language at the time) than the way that the conventions adopted by the VB platform helped speed up and simplify development.
Not really. VB was a great platform for rapid application development...