"The odds of two non-identical twin individuals sharing the same 26 marker genetic fingerprint are several billion to one"
Assuming perfect measurement techniques -- quite an assumption! The odds of a crime scene genetic sample being measured identically to my own are far more likely, although still pretty rare. One thing such a database would bring to light, though, are the occurrences of identical measurements; sadly, I cannot assume that anyone would notice this until it was too late.
"I don't think you could do that sort of lock-in in Linux even if you wanted to."
Of course not -- even if you tried, it would be trivial for someone to remove it and produce a new distro that is compatible in every other way.
As for package management, it is my feeling that Pirut does a good job of taking some of the "scary stuff" away, since displaying all packages is not the default (last I checked, displaying no packages at all is the default). Also, Fedora's packaging policies and package grouping policies really help a lot -- dependencies are marked in a sensible way, at least sensible for most users (or most that I have met).
Really though, the broader problem is that most people really have no idea what they need in their system, or what is even there to begin with. I doubt there is any solution to this problem, except to hope that the users have some friend or family member who can help them. Luckily, that is a common scenario, and hopefully it will scale well (right now, it may just be an artifact of the way people are introduced to libre software -- I certainly hope there is more to it than that).
Note that I said "apps store" as Apple is pushing it; Microsoft is not pushing any apps stores, and so the only ones you see in Windows are for specific markets, like games. The distros in Fedora or Ubuntu are much more general -- not just games, but also office suits, browsers, various little utilities, programming environments, libraries, plugins, and many other categories. Apple's "apps store" is similarly general, but Apple refuses to allow certain software into the apps store, including any software that would allow a user to install software from other sources (unlike a Linux distro, where such software would commonly be called a "text editor").
"The difference is that the repository model used by popular GNU/Linux operating environments is intended for use with free software or at least freely redistributable software. Distros like Fedora and Ubuntu currently lack anything like Steam, a repository of non-free commercial software."
Mainly, Fedora wants to avoid pushing non-libre software whenever possible, since the aim of Fedora is to be a libre distro; CodecBuddy was an attempt to make a prudent compromise, since users were turned off to the idea of not having MP3 support (and others).
That is not universally true, at least not in the college level contests I participated in as an undergrad. They used to test with very large inputs, to deliberately throw off solutions that leaked memory (they set a ulimit before running the code) or inefficient solutions (except in cases where they gave us NP complete problems)...
This is a perfect example of secure multiparty computation; you do not need obscurity here, if you are willing to hit your players' CPUs pretty hard (the cryptographic functions may become expensive as the number of players each person interacts with increases). However, it seems likely that some clever tricks to reduce the number of such operations could go a long way, and would have the added benefit of reducing the bandwidth needed by each player. It would also greatly reduce the ability of players to create hacks or god mode; the mathematics would simply not allow for it (unless there was a very grave bug in the code).
However, you may feel that the effort involved in studying the cryptography and designing secure protocols is simply not worth it, since you could just use a central server once you have the money available to run such a system. My guess is that this is why we do not see cryptographic systems being used for RPGs and online poker: the people who write this software do not really care about making it provably secure, they just want to get it out and keep it running long enough to turn a profit. Given that you seem to be a smaller operation than Blizzard, though, you may benefit from the network effects and community building of open sourcing the game, although you would have to be judicious about what patches you accept (i.e. a patch that renders nicer graphics is a good thing, but a patch that changes the secure protocol is not).
Then again, I am not a professional video game programmer, so there may be other issues to consider here (what sort of profit model is there in an MMORPG that has no central server, and therefore no subscription model?).
"I don't think your plan would help detect players whom lie about enemy units."
What plan? I described a solution to a simpler problem, Poker, and said that similar logic may be applicable to a strategy game like Starcraft.
Assuming the whole point is the actions are public but some items are hidden"
A false assumption; in most RTS games, actions may be hidden as well (you can move your units in areas that your opponents cannot observe, you can build units without your opponents' knowledge, etc.). Simply hashing everything is insufficient; you must account for the hidden areas, and you must account for them in a way that prevents opponents from learning what is hidden except as defined by the rules of the game. Starcraft is played in real time; there are no turns or moves, which further complicates things.
Read about secure multiparty computation, and you will see how Starcraft is an example.
It is really not a defense of these policies to note that we are moving to an economy where copyrights and patents are our chief export; it is just a description of the broader problem that nobody wants to manufacture their goods in America anymore. The solution is not to try to push other countries to accept our versions of copyright and patent law, it is to bring those manufacturing jobs back to the United States. Sadly, the major parties seem to have no interest in the seemingly obvious solution...
I know that you are joking, but in all seriousness, that is how a lot of people seem to have viewed Obama -- not on the actual issues, or the sort of people surrounding him (Biden...) or their views, but just on his party affiliation and skin color. It is a sad day for democracy when voters stop caring about the issues; it seems that day has already come to pass, and all we can hope for is a great awakening (but I won't hold my breath).
Security through obscurity never ends well, for the simple reason that once the hack is in the wild, you are done for -- you now have to replace the entire system, rather than just updating some keys. Really, if the only way you can keep your system from being attacked is by obscuring it, then you are probably faced with a more general problem of trying to secure something which is inherently impossible to secure; such situations are very, very rare, DRM being about the only one that comes to mind (and that is not exactly a constructive endeavor).
You bring up Starcraft, which is an interesting choice of example -- it is actually possible to secure such a system, without relying on obscurity, using lesser known forms of public key cryptography. The situation, of course, is that a player might simply lie about not knowing where enemy units are, or might substitute a different map, or might lie about which units he has killed or where his units are located. The solutions to these problems all have a common theme: the game either cannot be played unless neither player is cheating, or a cheating player is forced to reveal that they are cheating. For a game like Starcraft, this would become rather complicated, but poker involves similar challenges and serves as a good example:
First, we will rely on the existence of a cipher with the following property: enc[k2, enc[k1, x]] = enc[k1, enc[k2, x]] -- in other words, if the cipher is repeatedly applied with different secret keys, the order is irrelevant (and thus, it can be decrypted in any order). Such ciphers do exist (you can look this up in any modern crypto textbook). Now, to deal a hand, player 1 will encrypt each card with some secret key (identical for each card), using a cipher with the property described above, and send the deck to player 2 in a random order. Player 2 will then select five encrypted cards, and use his secret key to encrypt them, sending them back to player 1 for decryption. Then, player 2 will select five more encrypted cards, and send them to player 1 (or at least the indices), and that will be player 1's hand. When it comes time to show the cards (we will ignore the issue of exchanging cards; this is also possible to do, using a similar procedure), players 1 and 2 simple reveal their secret keys -- thus, cheating is easily detected, because player 2 can see if player 1 lied about his hand, and visa versa.
It is reasonable to assume that a similar sort of scheme could be applied to Starcraft, since Starcraft also involves players learning information after secret moves by other players; it is just a little more complex than Poker. In general, such situations fall into the category of "secure multiparty computation" -- situations in which distributed computation is necessary, but where participants in the computation may lie about results or where some parts of the computation must remain secret from certain participants at certain stages.
If you don't mind my asking, what sort of work do you do where you feel that obscurity is the only possible answer?
Perhaps, but the way Apple envisions the "apps store," I cannot support the concept. The different between repositories in Linux distros, and the "apps store" that Apple is pushing, is clear as day: you can only even have one "apps store," whereas nothing stops you from using third party repos for a given Linux distro.
In any case, we will see how that goes over the next few years. The overwhelming majority of novice users are coming from a Windows background, and so "apps store" is still a concept that is lost on them.
Except, of course, that the overwhelming majority of users and developers who deal with the BSD network stack are shackled by Microsoft's proprietary license (the Windows EULA). This is only possible because of the BSD license. Now, if you do not believe that it is a problem for your users to lose their freedom, as long as a handful of programmers at Microsoft have the freedom to use your code in their proprietary operating system, then I suppose you do not view that as a problem. Freedom is not black and white; sometimes, restricting freedom very slightly (such as not granting the freedom to take freedom from others) will ultimately extend freedom to more people.
Again, why is it a good thing to protect the freedom to restrict the freedoms of others? I do not want the users of my code to suffer under a proprietary license, and therefore I will not grant the freedom to release my code as proprietary software to anyone. If someone wants to restrict the freedom of others, then I really do not see why I should help them in that effort.
I was actually referring to the behavior of the US government in the 90s, which was essentially to bully TV studios to include specific, targeted anti-drug messages in their shows. Thus, whenever one sees drug use on broadcast TV, it is always from a "loser" character, or a hopeless character, or a character who cannot manage their life. You never see any depiction of moderate, normal drug use -- just worst cases, portrayed in the worst possible way.
Frankly, I would prefer to see a law passed that forbids the government from suggesting or pressuring the content of any entertainment, and only allowing government money to be apportioned to studios and networks in a well-defined, content-insensitive manner. The government should not be using the media to push its policies, regardless of what those policies are; coercing the media, censorship, and propaganda are simply not compatible with free speech.
What makes you think that corporate programmers are necessarily going to do drudge work better than volunteers? I guess you have only ever worked with big name proprietary software, where a lot of care was taken; I have seen many proprietary software packages that are barely usable, but they are niche products with little competition and thus there is no incentive for anyone to do a good job. So, where is the proprietary advantage?
Actually, the GPL extends plenty of freedom to developers; the only restriction is that those developers cannot impose any further restrictions than those imposed by the GPL (at least that is the spirit of the license). Not to push another GPL-vs.-BSDL flamewar, but history shows that this level of restriction is prudent and protects the freedom of developers at later levels of redistribution; both Microsoft and Apple have taken BSD licensed code and turned it into proprietary software, which restricts the freedom of developers who receive copies of the BSD licensed code from Microsoft or Apple. The only people who really see more freedom from BSD licensing are people who want the freedom to restrict the freedom of others; how exactly does the BSD license benefit freedom in that case?
The GPL is not troublesome when it comes to developing web based applications, unless you really want to charge royalties or forbid your users from modifying the source code (legally, that is); it does not sound like either is the case for you. On the other hand, the GPL prevents others from engaging in those same activities with your code -- if that is an issue for you, I would be very interested in knowing why (why would you want to leave open the option of others collecting royalties on your code if you yourself do not seek them?).
Hey now, we cannot have it both ways. If we want to push community support, that means that we have to be ready to answer the same novice questions over and over again, especially since a lot of concepts are lost on Windows and Mac OS users -- like the idea of a package manager. Yes, it may seem like the most obvious question in the entire world, but I frequently get asked things like, "How do I install ," and if we are unwilling to answer such basic question, people will just get scared (and subconsciously assume that "Linux is not ready for the desktop").
We may find it annoying, but we absolutely should not avoid it. In fact, we should being doing it more often.
You must be new...to America. Private broadcasting does not mean openness or lack of censorship (*cough* drugs). Neither does public broadcasting imply censorship.
I guess Chavez has decided to follow the same path that every other communist leader has followed? "We cannot allow openness if it means people will disagree with me."
I was thinking more along the lines of a system that would allow me to write code that interacted with the HTML and Javascript in web pages, so that I could just write my own bridges between websites and not have to wait around for the owners to cooperate. I guess that is asking a lot though.
Actually, I have tried to automate tasks using various scripting languages, but it is getting a lot harder to do as more and more sites using AJAX instead of plain old HTML. Even pulling down a web page is becoming hard, since many of the web sites I am required to work with use all manner of session cookies (naturally, there is Javascript involved in that too). If you know of some toolkit or program that can actually run the javascript in a webpage, and let me automate the tasks through that page, that would be awesome, but I have a feeling such an environment does not exist yet.
When I first saw the summary, I thought, "Apps script lets me automate tasks across multiple sites?! Finally!" Then I read the next few words, and it seems to be only for Google services. Oh well, better luck next time.
Actually, Red Hat's user base is growing, at least in terms of customers and support contracts.
"So I guess firewalls, spam, etc. which combined would destroy Win95 would do so simply because 95 was rubbish to begin with?"
Yes, that is exactly correct. Windows 95 was an improvement over 3.1, but that is not saying much and it certainly does not mean that it is "good software." On the other hand, there are places still running programs written 20 years ago, which have only seen bugfixes and ports to newer hardware; the software is just as good now as it was when it was first written.
"Or will a non-computer person find cracking Win7 that easy?"
The fact that it needs to be cracked is the result of Microsoft desperately fighting to stop people from copying software, and establish a mindset where copying software is difficult and illegal. A "non-computer person" could easily make a copy of Fedora -- all they would need is a blank DVD and a DVD burner, and maybe 10 seconds of searching the web. What is your point, exactly? That when software is designed to be hard to copy, it is hard to copy?
"You fail to deal with the cost of after-sales support, as well as increased costs for administration and total cost for mass-implementation."
Which has nothing to do with anything I said, but OK, I'll bite. What is the cost of after sales support for proprietary software, and where did you get the idea that it is lower than open source? Where did you get the idea that administration of open source systems comes with increased cost? Last I checked, it requires fewer IT pros to manage Linux servers than Windows servers, and those same Linux servers can handle a higher workload.
"A good example is Active Directory - it's been around for 10 years, and yet for most of those years the Linux community spent more time complaining that 'it was only LDAP with bells on' while totally failing to provide an equivalent"
Who failed to provide an equivalent? The only thing that was not provided was a GUI, and if that is your complaint, there is really no point in continuing.
"So, if you *don't* use Windows, you can kiss goodbye to Single Sign-on, Enterprise encryption, Direct Access, Central Management, Federated Services...the list is quite long."
The list is only long when you have no idea what you are talking about. You can get all of those things with RHEL or SLED, and had you taken the time to check, or at least ask Red Hat or Novell about it, you would have already known that.
"I also remember the knives coming out for RedHat when they dared to do something as revolutionary as automatic updating"
I do not, mostly because it was Mandrake who started it in the Linux world, and nobody was angry about it.
"And Apple had 'years of business' - when they weren't sacking their CEO, buying their next OS off of him and then re-employing him anyway, *after* MS had bailed them out in order to preserve some pretence of competition."
Apple also had a lot of time to establish itself as a brand and to become associated with a certain type of personal computer. Apple was always in a position to reclaim some market share, they just lacked the proper leadership to do so until Steve Jobs returned. All those years during the 80s and early 90s did a lot to establish Apple as a brand, and Red Hat is just not in the same position yet, not because of bad technology or a bad business model, but because they do not have enough years under their belt.
"No, I see OSS as having a lot, lot further to go before it's seen as real competition"
Seen by whom? Microsoft certainly invested a lot money fighting off open source, or have you forgotten "Get The Facts" and the Halloween documents, or the attack they made on the OLPC? SCO certainly saw Linux as a threat, as rightly so since Linux has been killing proprietary Unix for over a decade now. Who, exactly, is failing to see OSS as competitive, other than you?
"Red Hat has milked the support model about as far as it can go."
Which explains, of course, their continuous growth over the past 7 years, their profitable spread into the middleware market with JBoss, and their acquisition of dozens of smaller open source companies. Yes, the model is really starting to show cracks.
"This is why, if they wished, IBM or Apple could buy Red Hat with spare pocket change if they wanted to."
Red Hat is growing as a business. Sure, IBM or Apple could probably pull together the $5 billion it would take to buy out Red Hat, but that does not mean that Red Hat is a failing business or that their business model is flawed. It just means that they are not as big or old -- Apple had years of business before Red Hat was even conceived of, and IBM has had decades to grow into the giant it is today.
"Software, as we presently know it, is still a product."
Except that, unlike most products, software is trivial to copy, even for someone with no experience with computers. Software does not age; if software from 20 years ago is bad today, it is because it was just as bad back then. It is not a product the way a car is a product, or the way a bushel of apples is a product.
That is the reason that the open source development model is so successful for software -- because software is not like other "products." I can take some software and make a lot of copies of it, without spending a significant amount of money, time, or effort. When you find a way to do that with your car, we might see successful open source development of automobiles.
Red Hat takes advantage of the open source development model and has turned it into a very profitable business. Red Hat only hires a fraction of the number of developers that its competitors hire, but they have a lot of other people collaborating with them on their software. That is where the success comes from: Red Hat does not have to hire a developer to work on every single feature in RHEL or JBoss, because other companies and interested individuals collaborate with them. There is no need for Red Hat to pay every single Linux kernel developer, at least not with dollars and cents; there is just an understanding that Red Hat will put some effort in, just like everyone else, and everyone can use any other developer's work however they choose.
If Sun had GPL'ed Solaris, and followed the model they follow with OpenOffice.org/StarOffice, or the RHEL/Fedora model, they could have committed more resources to their more profitable ventures, without having to lose a solid and well established "product" in the mean time. Solaris was not really a big money maker toward the end, because like most proprietary Unixes, it was being killed by GNU/Linux (at least in the server rooms, where it mattered). They could have continued to sell support as part of their hardware support business, but without the added overhead of having to commit so many skilled developers to Solaris.
You should not discount the competitive advantage that GPLed code can bring, particularly when there is a large community of interested companies and individuals that are willing to cooperate on the software. OpenOffice.org would not be worth anyone's time if there was not a community working on it; same with Apache, GNU, Linux, or any of the other successful open source projects out there. The GPL does not just mean giving away code; it means getting code in return, often more than was given. That is how Red Hat works, and that is why they are able to focus their resources on support.
"The odds of two non-identical twin individuals sharing the same 26 marker genetic fingerprint are several billion to one"
Assuming perfect measurement techniques -- quite an assumption! The odds of a crime scene genetic sample being measured identically to my own are far more likely, although still pretty rare. One thing such a database would bring to light, though, are the occurrences of identical measurements; sadly, I cannot assume that anyone would notice this until it was too late.
Which was my point -- the contests were unforgiving when people were not intelligent about these things.
"I don't think you could do that sort of lock-in in Linux even if you wanted to."
Of course not -- even if you tried, it would be trivial for someone to remove it and produce a new distro that is compatible in every other way.
As for package management, it is my feeling that Pirut does a good job of taking some of the "scary stuff" away, since displaying all packages is not the default (last I checked, displaying no packages at all is the default). Also, Fedora's packaging policies and package grouping policies really help a lot -- dependencies are marked in a sensible way, at least sensible for most users (or most that I have met).
Really though, the broader problem is that most people really have no idea what they need in their system, or what is even there to begin with. I doubt there is any solution to this problem, except to hope that the users have some friend or family member who can help them. Luckily, that is a common scenario, and hopefully it will scale well (right now, it may just be an artifact of the way people are introduced to libre software -- I certainly hope there is more to it than that).
"Windows has several app stores for games alone"
Note that I said "apps store" as Apple is pushing it; Microsoft is not pushing any apps stores, and so the only ones you see in Windows are for specific markets, like games. The distros in Fedora or Ubuntu are much more general -- not just games, but also office suits, browsers, various little utilities, programming environments, libraries, plugins, and many other categories. Apple's "apps store" is similarly general, but Apple refuses to allow certain software into the apps store, including any software that would allow a user to install software from other sources (unlike a Linux distro, where such software would commonly be called a "text editor").
"The difference is that the repository model used by popular GNU/Linux operating environments is intended for use with free software or at least freely redistributable software. Distros like Fedora and Ubuntu currently lack anything like Steam, a repository of non-free commercial software."
Well, there is this:
http://fedoraproject.org/wiki/Releases/FeatureCodecBuddy
Mainly, Fedora wants to avoid pushing non-libre software whenever possible, since the aim of Fedora is to be a libre distro; CodecBuddy was an attempt to make a prudent compromise, since users were turned off to the idea of not having MP3 support (and others).
That is not universally true, at least not in the college level contests I participated in as an undergrad. They used to test with very large inputs, to deliberately throw off solutions that leaked memory (they set a ulimit before running the code) or inefficient solutions (except in cases where they gave us NP complete problems)...
"Try making a MMORPG without a central server"
This is a perfect example of secure multiparty computation; you do not need obscurity here, if you are willing to hit your players' CPUs pretty hard (the cryptographic functions may become expensive as the number of players each person interacts with increases). However, it seems likely that some clever tricks to reduce the number of such operations could go a long way, and would have the added benefit of reducing the bandwidth needed by each player. It would also greatly reduce the ability of players to create hacks or god mode; the mathematics would simply not allow for it (unless there was a very grave bug in the code).
However, you may feel that the effort involved in studying the cryptography and designing secure protocols is simply not worth it, since you could just use a central server once you have the money available to run such a system. My guess is that this is why we do not see cryptographic systems being used for RPGs and online poker: the people who write this software do not really care about making it provably secure, they just want to get it out and keep it running long enough to turn a profit. Given that you seem to be a smaller operation than Blizzard, though, you may benefit from the network effects and community building of open sourcing the game, although you would have to be judicious about what patches you accept (i.e. a patch that renders nicer graphics is a good thing, but a patch that changes the secure protocol is not).
Then again, I am not a professional video game programmer, so there may be other issues to consider here (what sort of profit model is there in an MMORPG that has no central server, and therefore no subscription model?).
"I don't think your plan would help detect players whom lie about enemy units."
What plan? I described a solution to a simpler problem, Poker, and said that similar logic may be applicable to a strategy game like Starcraft.
Assuming the whole point is the actions are public but some items are hidden"
A false assumption; in most RTS games, actions may be hidden as well (you can move your units in areas that your opponents cannot observe, you can build units without your opponents' knowledge, etc.). Simply hashing everything is insufficient; you must account for the hidden areas, and you must account for them in a way that prevents opponents from learning what is hidden except as defined by the rules of the game. Starcraft is played in real time; there are no turns or moves, which further complicates things.
Read about secure multiparty computation, and you will see how Starcraft is an example.
It is really not a defense of these policies to note that we are moving to an economy where copyrights and patents are our chief export; it is just a description of the broader problem that nobody wants to manufacture their goods in America anymore. The solution is not to try to push other countries to accept our versions of copyright and patent law, it is to bring those manufacturing jobs back to the United States. Sadly, the major parties seem to have no interest in the seemingly obvious solution...
I know that you are joking, but in all seriousness, that is how a lot of people seem to have viewed Obama -- not on the actual issues, or the sort of people surrounding him (Biden...) or their views, but just on his party affiliation and skin color. It is a sad day for democracy when voters stop caring about the issues; it seems that day has already come to pass, and all we can hope for is a great awakening (but I won't hold my breath).
Security through obscurity never ends well, for the simple reason that once the hack is in the wild, you are done for -- you now have to replace the entire system, rather than just updating some keys. Really, if the only way you can keep your system from being attacked is by obscuring it, then you are probably faced with a more general problem of trying to secure something which is inherently impossible to secure; such situations are very, very rare, DRM being about the only one that comes to mind (and that is not exactly a constructive endeavor).
You bring up Starcraft, which is an interesting choice of example -- it is actually possible to secure such a system, without relying on obscurity, using lesser known forms of public key cryptography. The situation, of course, is that a player might simply lie about not knowing where enemy units are, or might substitute a different map, or might lie about which units he has killed or where his units are located. The solutions to these problems all have a common theme: the game either cannot be played unless neither player is cheating, or a cheating player is forced to reveal that they are cheating. For a game like Starcraft, this would become rather complicated, but poker involves similar challenges and serves as a good example:
First, we will rely on the existence of a cipher with the following property: enc[k2, enc[k1, x]] = enc[k1, enc[k2, x]] -- in other words, if the cipher is repeatedly applied with different secret keys, the order is irrelevant (and thus, it can be decrypted in any order). Such ciphers do exist (you can look this up in any modern crypto textbook). Now, to deal a hand, player 1 will encrypt each card with some secret key (identical for each card), using a cipher with the property described above, and send the deck to player 2 in a random order. Player 2 will then select five encrypted cards, and use his secret key to encrypt them, sending them back to player 1 for decryption. Then, player 2 will select five more encrypted cards, and send them to player 1 (or at least the indices), and that will be player 1's hand. When it comes time to show the cards (we will ignore the issue of exchanging cards; this is also possible to do, using a similar procedure), players 1 and 2 simple reveal their secret keys -- thus, cheating is easily detected, because player 2 can see if player 1 lied about his hand, and visa versa.
It is reasonable to assume that a similar sort of scheme could be applied to Starcraft, since Starcraft also involves players learning information after secret moves by other players; it is just a little more complex than Poker. In general, such situations fall into the category of "secure multiparty computation" -- situations in which distributed computation is necessary, but where participants in the computation may lie about results or where some parts of the computation must remain secret from certain participants at certain stages.
If you don't mind my asking, what sort of work do you do where you feel that obscurity is the only possible answer?
Perhaps, but the way Apple envisions the "apps store," I cannot support the concept. The different between repositories in Linux distros, and the "apps store" that Apple is pushing, is clear as day: you can only even have one "apps store," whereas nothing stops you from using third party repos for a given Linux distro.
In any case, we will see how that goes over the next few years. The overwhelming majority of novice users are coming from a Windows background, and so "apps store" is still a concept that is lost on them.
Except, of course, that the overwhelming majority of users and developers who deal with the BSD network stack are shackled by Microsoft's proprietary license (the Windows EULA). This is only possible because of the BSD license. Now, if you do not believe that it is a problem for your users to lose their freedom, as long as a handful of programmers at Microsoft have the freedom to use your code in their proprietary operating system, then I suppose you do not view that as a problem. Freedom is not black and white; sometimes, restricting freedom very slightly (such as not granting the freedom to take freedom from others) will ultimately extend freedom to more people.
Again, why is it a good thing to protect the freedom to restrict the freedoms of others? I do not want the users of my code to suffer under a proprietary license, and therefore I will not grant the freedom to release my code as proprietary software to anyone. If someone wants to restrict the freedom of others, then I really do not see why I should help them in that effort.
I was actually referring to the behavior of the US government in the 90s, which was essentially to bully TV studios to include specific, targeted anti-drug messages in their shows. Thus, whenever one sees drug use on broadcast TV, it is always from a "loser" character, or a hopeless character, or a character who cannot manage their life. You never see any depiction of moderate, normal drug use -- just worst cases, portrayed in the worst possible way.
Frankly, I would prefer to see a law passed that forbids the government from suggesting or pressuring the content of any entertainment, and only allowing government money to be apportioned to studios and networks in a well-defined, content-insensitive manner. The government should not be using the media to push its policies, regardless of what those policies are; coercing the media, censorship, and propaganda are simply not compatible with free speech.
What makes you think that corporate programmers are necessarily going to do drudge work better than volunteers? I guess you have only ever worked with big name proprietary software, where a lot of care was taken; I have seen many proprietary software packages that are barely usable, but they are niche products with little competition and thus there is no incentive for anyone to do a good job. So, where is the proprietary advantage?
Actually, the GPL extends plenty of freedom to developers; the only restriction is that those developers cannot impose any further restrictions than those imposed by the GPL (at least that is the spirit of the license). Not to push another GPL-vs.-BSDL flamewar, but history shows that this level of restriction is prudent and protects the freedom of developers at later levels of redistribution; both Microsoft and Apple have taken BSD licensed code and turned it into proprietary software, which restricts the freedom of developers who receive copies of the BSD licensed code from Microsoft or Apple. The only people who really see more freedom from BSD licensing are people who want the freedom to restrict the freedom of others; how exactly does the BSD license benefit freedom in that case?
The GPL is not troublesome when it comes to developing web based applications, unless you really want to charge royalties or forbid your users from modifying the source code (legally, that is); it does not sound like either is the case for you. On the other hand, the GPL prevents others from engaging in those same activities with your code -- if that is an issue for you, I would be very interested in knowing why (why would you want to leave open the option of others collecting royalties on your code if you yourself do not seek them?).
Why do you feel that the GPL spells trouble?
Hey now, we cannot have it both ways. If we want to push community support, that means that we have to be ready to answer the same novice questions over and over again, especially since a lot of concepts are lost on Windows and Mac OS users -- like the idea of a package manager. Yes, it may seem like the most obvious question in the entire world, but I frequently get asked things like, "How do I install ," and if we are unwilling to answer such basic question, people will just get scared (and subconsciously assume that "Linux is not ready for the desktop").
We may find it annoying, but we absolutely should not avoid it. In fact, we should being doing it more often.
You must be new...to America. Private broadcasting does not mean openness or lack of censorship (*cough* drugs). Neither does public broadcasting imply censorship.
Who modded this insightful? I guess they are tired, it is a bit early on a Sunday morning.
I guess Chavez has decided to follow the same path that every other communist leader has followed? "We cannot allow openness if it means people will disagree with me."
I was thinking more along the lines of a system that would allow me to write code that interacted with the HTML and Javascript in web pages, so that I could just write my own bridges between websites and not have to wait around for the owners to cooperate. I guess that is asking a lot though.
Actually, I have tried to automate tasks using various scripting languages, but it is getting a lot harder to do as more and more sites using AJAX instead of plain old HTML. Even pulling down a web page is becoming hard, since many of the web sites I am required to work with use all manner of session cookies (naturally, there is Javascript involved in that too). If you know of some toolkit or program that can actually run the javascript in a webpage, and let me automate the tasks through that page, that would be awesome, but I have a feeling such an environment does not exist yet.
When I first saw the summary, I thought, "Apps script lets me automate tasks across multiple sites?! Finally!" Then I read the next few words, and it seems to be only for Google services. Oh well, better luck next time.
"But their userbase isn't."
Actually, Red Hat's user base is growing, at least in terms of customers and support contracts.
"So I guess firewalls, spam, etc. which combined would destroy Win95 would do so simply because 95 was rubbish to begin with?"
Yes, that is exactly correct. Windows 95 was an improvement over 3.1, but that is not saying much and it certainly does not mean that it is "good software." On the other hand, there are places still running programs written 20 years ago, which have only seen bugfixes and ports to newer hardware; the software is just as good now as it was when it was first written.
"Or will a non-computer person find cracking Win7 that easy?"
The fact that it needs to be cracked is the result of Microsoft desperately fighting to stop people from copying software, and establish a mindset where copying software is difficult and illegal. A "non-computer person" could easily make a copy of Fedora -- all they would need is a blank DVD and a DVD burner, and maybe 10 seconds of searching the web. What is your point, exactly? That when software is designed to be hard to copy, it is hard to copy?
"You fail to deal with the cost of after-sales support, as well as increased costs for administration and total cost for mass-implementation."
Which has nothing to do with anything I said, but OK, I'll bite. What is the cost of after sales support for proprietary software, and where did you get the idea that it is lower than open source? Where did you get the idea that administration of open source systems comes with increased cost? Last I checked, it requires fewer IT pros to manage Linux servers than Windows servers, and those same Linux servers can handle a higher workload.
"A good example is Active Directory - it's been around for 10 years, and yet for most of those years the Linux community spent more time complaining that 'it was only LDAP with bells on' while totally failing to provide an equivalent"
Who failed to provide an equivalent? The only thing that was not provided was a GUI, and if that is your complaint, there is really no point in continuing.
"So, if you *don't* use Windows, you can kiss goodbye to Single Sign-on, Enterprise encryption, Direct Access, Central Management, Federated Services...the list is quite long."
The list is only long when you have no idea what you are talking about. You can get all of those things with RHEL or SLED, and had you taken the time to check, or at least ask Red Hat or Novell about it, you would have already known that.
"I also remember the knives coming out for RedHat when they dared to do something as revolutionary as automatic updating"
I do not, mostly because it was Mandrake who started it in the Linux world, and nobody was angry about it.
"And Apple had 'years of business' - when they weren't sacking their CEO, buying their next OS off of him and then re-employing him anyway, *after* MS had bailed them out in order to preserve some pretence of competition."
Apple also had a lot of time to establish itself as a brand and to become associated with a certain type of personal computer. Apple was always in a position to reclaim some market share, they just lacked the proper leadership to do so until Steve Jobs returned. All those years during the 80s and early 90s did a lot to establish Apple as a brand, and Red Hat is just not in the same position yet, not because of bad technology or a bad business model, but because they do not have enough years under their belt.
"No, I see OSS as having a lot, lot further to go before it's seen as real competition"
Seen by whom? Microsoft certainly invested a lot money fighting off open source, or have you forgotten "Get The Facts" and the Halloween documents, or the attack they made on the OLPC? SCO certainly saw Linux as a threat, as rightly so since Linux has been killing proprietary Unix for over a decade now. Who, exactly, is failing to see OSS as competitive, other than you?
"Same for Red Hat. Sure, here's the source code. Now compile it yourself, with no support."
http://www.centos.org/
"Red Hat has milked the support model about as far as it can go."
Which explains, of course, their continuous growth over the past 7 years, their profitable spread into the middleware market with JBoss, and their acquisition of dozens of smaller open source companies. Yes, the model is really starting to show cracks.
"This is why, if they wished, IBM or Apple could buy Red Hat with spare pocket change if they wanted to."
Red Hat is growing as a business. Sure, IBM or Apple could probably pull together the $5 billion it would take to buy out Red Hat, but that does not mean that Red Hat is a failing business or that their business model is flawed. It just means that they are not as big or old -- Apple had years of business before Red Hat was even conceived of, and IBM has had decades to grow into the giant it is today.
"Software, as we presently know it, is still a product."
Except that, unlike most products, software is trivial to copy, even for someone with no experience with computers. Software does not age; if software from 20 years ago is bad today, it is because it was just as bad back then. It is not a product the way a car is a product, or the way a bushel of apples is a product.
That is the reason that the open source development model is so successful for software -- because software is not like other "products." I can take some software and make a lot of copies of it, without spending a significant amount of money, time, or effort. When you find a way to do that with your car, we might see successful open source development of automobiles.
Red Hat takes advantage of the open source development model and has turned it into a very profitable business. Red Hat only hires a fraction of the number of developers that its competitors hire, but they have a lot of other people collaborating with them on their software. That is where the success comes from: Red Hat does not have to hire a developer to work on every single feature in RHEL or JBoss, because other companies and interested individuals collaborate with them. There is no need for Red Hat to pay every single Linux kernel developer, at least not with dollars and cents; there is just an understanding that Red Hat will put some effort in, just like everyone else, and everyone can use any other developer's work however they choose.
If Sun had GPL'ed Solaris, and followed the model they follow with OpenOffice.org/StarOffice, or the RHEL/Fedora model, they could have committed more resources to their more profitable ventures, without having to lose a solid and well established "product" in the mean time. Solaris was not really a big money maker toward the end, because like most proprietary Unixes, it was being killed by GNU/Linux (at least in the server rooms, where it mattered). They could have continued to sell support as part of their hardware support business, but without the added overhead of having to commit so many skilled developers to Solaris.
You should not discount the competitive advantage that GPLed code can bring, particularly when there is a large community of interested companies and individuals that are willing to cooperate on the software. OpenOffice.org would not be worth anyone's time if there was not a community working on it; same with Apache, GNU, Linux, or any of the other successful open source projects out there. The GPL does not just mean giving away code; it means getting code in return, often more than was given. That is how Red Hat works, and that is why they are able to focus their resources on support.