and in order to do it right you have to have people who really want to learn it, and live it.
Our culture does not tend to produce such people. America tends to think on the very, very short term (this is an inevitable consequence of allowing corporate/profit oriented thinking to dominate our culture) and it should come as no surprise that the get rich quick philosophy by which we define success is incompatible with good scientific training. There are always some people who will be scientists, but if you want a lot of them you can't just do nothing to promote science and then expect results.
Frank Herbert said it best - "short term decisions tend to fail in the long term". We constantly make short term decisions - we don't accept anything except instant gratification. So as a consequence the hard, long term skills tend to go undeveloped.
The question we need to ask ourselves is - do we care? I don't mean you or me, but as a country, and as a society, do we value science and other difficult skills enough to give up some of our short term gratification attitude in order to socially promote the long term view? If not, then the result is inevitable. I rather suspect we don't care, as long as our quality of life doesn't drop. The future isn't of much interest to America - we're too busy living in the present. Until that changes, and we start to value long term thinking and decisions (like putting ATTENTION, not $$, into education - $$ are just a feel good measure and do nothing to solve the real problem) we will continue to fall behind.
Remember, they aren't pulling in huge $$$$ for licenses for their OS, the way Microsoft is. Sun sells hardware. They have been known to give away their OS at zero/low cost in the past - it's their hardware that makes them the money.
Linux is good, it is very good. But it is not as good as Solaris in a lot of situations - Solaris has been in high end trenches and mission critical situations for a lot longer than Linux. An open sourcing of Solaris under GPL means several things:
a) Linux can benefit from Solaris b) Solaris can benefit from Linux c) Extensive code review of Solaris by the world probably won't hurt efforts to further improve security.
TREMENDOUS positive PR for Sun from an often ambilivant open source community, and a rush to make sure all important open source software runs flawlessly on Solaris (harder to test now since fewer people use it)
Problems to be delt with:
a) Making sure they have the legal rights to open source everything (of course) b) Export restrictions? Not sure how this plays out for Solaris - since Linux is out there already I can't imagine the use of restricting Solaris (which is probably also out there, just not legally) but the government is known for a lack of common sense in such cases. c) Fear of management that giving up ultimate control of all versions of Solaris will somehow be harmful.
Issue a) was one of the major problems when considering opensourcing BeOS - don't know how Solaris stands on such an issue.
But I think on the whole it's silly for Sun to try and compete with Linux head to head with a commercial OS - what's the point? Sun sells hardware and complete solutions, and generally does very well. If they can say "well, Solaris is GPL just like Linux, incorporates features X,Y, and Z that users generally cite as reasons they want Linux, and is proven and stable to boot" they get to just support Solaris again, and not have to worry about figuring out Linux. If that makes Solaris more widespread, what harm does that do Sun? It's not like Microsoft is going to pick up Solaris and incorporate it. Infighting among Unix like systems I think is fairly pointless in this day and age. Linux has made high priced commercial Unix licenses non-viable. So for companies like Sun, who sell hardware and solutions anyway, why not go with the flow on this one?
Here's a thought - I've heard complaints for a long time about the GIMP's interface. What about creating two operational modes for the Gimp - one where it does what it does now and one where it mimics the behavior of the Photoshop interface, down to tool locations and such?
Would this be legal? If so, perhaps it would help Photoshop users getting used to the Gimp. E.g. one of the benefits of OpenOffice is that it in many ways behavies similarly to MSOffice, and allows a shorter learning curve for switchers. It wouldn't address a lot of other valid points (lack of preview for most things, for example) but it would be a start. Sort of an XPDE for photo editors.
I'm glad to see Wordperfect return to the software stage, but I think it is far too late.
Microsoft Word OWNS the document market by virtue of mass action - no one can fight the torrent of Word documents coming at them from all sides. The stubborn of us, like me, use OpenOffice/Abiword and fight the good fight. But we also get a major benefit - those tools are zero $$$ in cost. That makes a difference, and quite realistically is the only reason they are used on a large scale - if people had to pay $$ similar to what they pay Microsoft, they'd pay it and move on. But free is good for low budget situations. There is the long term benefit of the code always being available and thus in theory the app can survive as long as it is needed, but experimental evidence seems to indicate that benefit isn't enough to counter the Momentum of Microsoft. No one is seriously worried about Word vanishing.
So, I conclude WordPerfect has no chance to be a large scale commercial product. It might survive in small corners somewhere, but the cost of it will turn off the people seriously looking for a Word alternative. It's not open source, so even the small subset who might pay $$$ for an open source app because it is open are out. Their only real potential market is businesses that are going to Linux, but want a commercial word processor and are willing to retrain their folk to WordPerfect. In that scenario OpenOffice is hard to beat, but maybe some companies don't want it. But will that be enough to fund development?
I hate to see this, but it seems to always work like this - market share is EVERYTHING. Even Linux and OpenOffice, with zero up front cost, are only slowly making headway against the inertia out there. Wordperfect doesn't have a ghost of a chance - most of its potential market (i.e. willing to consider something other than Word) has moved/will move to the free OpenOffice suite. If your retraining anyway, why not go for the free, open product?
I don't imagine Wordperfect will ever be open sourced, which is a shame. I used WP8 a little and liked it. Much lighter weight than OO, for one thing. But except as an open source app it won't survive. Too little, too late.
Then you'd better get paid developers - volunteer slaves are hard to come by.
"If users can't use it, they'll bitch and move on to something else."
Fine, so long as they DO move on.
"YES, if you're developing software you expect to be used publicly, you are slave to the users who will demand features, or else you're just another asshole who puts software out and then complains when people don't like it."
No, I'm a developer who has a tool I created, thought other people might like/find useful, and made freely available. If they don't care for it, there is no obligation on their part to use it. I have no obligation to respond to requests (although I might) because no one is paying me to do so. If I do respond, it's because I think it's a good/worthwhile idea, or I'm being an exceptionally generous guy that day. If you want slaves, PAY them. Frankly, if you don't want to deal with programmer egos you're in the wrong sector of computing. Go use Windows or a Mac, pay your money, and get the attitude you want.
I dunno. In a perfect world, there shouldn't be a need for this kind of thing. But since we don't live in that world, this might have practical value.
My take on this is - it's a good thing if you are paranoid or a potential target. I don't understand why Linux end users are different from Windows end users in a liability sense - can someone point me to a good explanation of why my buying a Windows license suddenly frees me from potential legal trouble, whereas the GNU GPL somehow doesn't? Why isn't the author responsible in both cases? (Not a rhetorical question - I really would like an answer.)
Anyway, I'm not sure this lawsuit insurance is a bad idea no matter WHAT you do or what you use. Lawsuits are used like clubs against business opponents nowadays, and merit or justification isn't even of interest anymore. Perhaps an insurance setup where the insurance covers the costs of a defense up to $$$, but not the consequences of a guilty verdict, would be a good way for a lot of small companies to go. If they aren't doing anything wrong, and get their ass sued by $LARGE_COMPETITOR in order to put them out of business, the lawsuit coverage would let them put up enough of a fight to make trouble for $LARGE_COMPETITOR. If $LARGE_COMPETITOR had to do this for all the smaller competitive businesses they would go up against, it might start to be rather useless for them to try such methods.
Remember, lawsuit insurance in this scenario isn't about the merits of the case - it's about being able to resist bullying attempts by litigious bastards. If you have a good case, this would allow you to fight it, but wouldn't let scum insure their way out of the financial consequences of doing something illegal. In THAT capacity, I can see this being a good idea. And not just for open source software either.
"Why the constant assumption that Grandma and Grandpa can't cope with Linux???"
Because anyone with the technical gene is not likely to be socially skilled enough to attract a mate and reproduce, and hence become a parent/grandparent?;-)
Possibly true. Which is why I view this type of development as a perfect way for open source to do things - we might potentially achieve a level of software quality impossible in a commercial environment. Or, alternatively, perhaps someone like IBM could sponsor some high powered developers to develop a general purpose OS on such principles, viewing it as a long term investment. If they succeed and create a Linux replacement that just doesn't have software problems below the user application level, imagine the $$ IBM could make. They could sell hardware running this proven, open system where they've also proven the hardware and drivers work perfectly with the system, and put IBM level support behind the hardware itself. Other people would start to use the OS since it would be of high quality, and as businesses look around for the most reliable solution they would see IBM, who developed it, is also selling hardware proven to work well with it. Ka-ching.
Maybe it would work, maybe not. But as software becomes more critical, it becomes more and more worthwhile to Do It Right The First Time. Because as Windows has clearly proven, people don't always update their systems and if they don't they can hurt the network as well as themselves.
SELinux (or, hopefully, a similar system with a sane configuration/management interface)
I think SELinux with a configuration/management interface will do fine. Right now its in a raw, gut level functionality state. ACLS on Linux I view in a similar fashion - given a proper interface, there won't be any reason not to use it.
Part of the problem is proper security involves knowing a lot about what a program is doing, what it needs to run, etc. and most people don't want to know all those details for all their programs. I think over time people who know each application will develop a default configuration for their program that will work. The final step will be to migrate applications to a system where each option is tied to data about what that option will need to function, and automatically notifies the user about it. That way, the minimum openness necessary to run the software in the fashion the user wants is always the default, but the details of functionality are hidden as much as possible. It's an interesting interface problem, and one I would like to see solved. SELinux as a desktop default, locked down, would be a Good Thing for people who don't maintain their systems much - it wouldn't stop people from exploiting an unmaintained system completely, but it would at least make it much harder.
Interesting. OK, point conceded in Europe - you guys are lucky. I guess my thinking tends to be dominated by the US situation - I didn't realise things were that different abroad. BUT - here's something else to consider. How will they react if the US insists the EU allow software patents as part of some treaty or other? Is the EU in a position to tell the US to go to hell if they get bullyish about software patents? Because it is a real possibility. If the EU political system will stand in the face of that pressure, I might need to reconsider my cynical outlook on political thinking. Or maybe move to Europe:-).
I know. But, if the prior art is documented IN A PATENT OFFICE DATABASE, they will look very bad if they approve a patent and find the prior art later in their own files. Something being published "somewhere" is hard to find. Let's make it easier for them, and we might have less nonsense to deal with down the road.
"the bug was unmasked as a particularly subtle incarnation of a common programming error called a "race condition," triggered on August 14th by a perfect storm of events and alarm conditions on the equipment being monitored. The bug had a window of opportunity measured in milliseconds. "
Isn't this the type of problem the B Method (and maybe the Z language too) are designed to address? Use proof logic initially - once you have decided on a behavior you want, design the system in such a way that it is provable it executes this design.
That doesn't mean the DESIGN is flawless, of course. But if we start engineering software on as many levels as we can, mightn't things improve? Normal software development and testing would never have found a critical bug with rare trigger conditions and a millisecond window. If you need precision on that level, you need to (for starters) to KNOW your implimentation of your design is sound, and preferably the code you are running exactly impliments the proven logic. Isn't this what the B Method was created for?
Our protesting does absolutely nothing to sway them. We are a minute component of society with no financial clout and no connections. They most likely wouldn't miss us if we all up and vanished. We cannot cause enough trouble to cost people their offices, and our demise would please a lot of people who DO have money and connections. This is not an issue the public is worried about - they have other concerns than software.
Not that I disapprove. It's still better than nothing. But we need other contingency plans, because as far as the governments are concerned the loss of open source would not be a major one, and they will not respond to us. If we want to be effective, I think we need to look in another direction.
Specifically, if software patents are to be given power and we can't stop it, I think we should propose an compromise. If they are going to go through with this, they need to also create a mechanism by which people can document for the patent office intellectual property without any of the large fees associated with the patent filing process. This new filing path wouldn't grant the filer any unique rights to the IP - it would, however, constitute documentation of prior art which has been filed with the patent office and they are responsible for when considering new tech patents. This is the only answer I can think of which might hault the granting of absurd patents. Allow us to document all our ideas cheaply in such a way as to block patents being granted which involve obvious ideas. I would call it a Declaration of Prior Art. The filer doesn't need to be the one who had the original idea - just someone who can properly describe and document it. Then, if the patent office grants a stupid patent, we can point them to files in their own database that rule it out.
So by all means protest the patents, but remember They Don't Care. What we need instead is a method to impact the workings of the patent office. So let's lobby for the addition of a Declaration of Prior Art section to software patents. We can argue that it would help the patent office do its job, and I don't think anyone would actually have the guts to publicly state they want to take advantage of the patent office's ignorance in this field. Let's try and lobby for a mechanism where we can help the patent office be unable to grant stupid patents. That might actually provide us with a defense when (not if, IMHO) they eventually get software patents through. There's just too much $$$ behind software patents - I have zero expectation the political system will stop them based on anything like ideals. So let's get practical, and look for ways we can do more than just protest.
Microsoft isn't like IBM. IBM was in the driver's seat because of hardware, and built their empire on hardware. Then clones came in, and competition appeared. Bye bye IBM empire.
No one can realistically (maybe not even legally) create a software product that is fully compatible with Windows. Without full compatibility (which, remember, the IBM clones had) no Windows addicted workplace will risk the chaos of a switch. Software is a natural monopoly by virtue of the vast size and inflexibility of its user base. Microsoft has the world addicted. They're not going away unless they do it to themselves. Linux can dent them, but linux isn't based on traditional commercial models and is thus very suspect to a lot of businesses who don't believe there can be a "free lunch." It could take decades to demonstrate otherwise to them, and that's an eternity in the software game.
A serious question - OK, the computer approach to proofs faces limits. My question is this - what is fundamentally different about a human generated mathematical proof? What about us is different in such a way that allows us to create valid proofs that a computer cannot produce? This is a serious question.
There are some fundamental limits on mathematical systems that impose this behavior. I believe Gotel's work addresses this, but I'm not totally sure.
If we can't define the proof in terms of axioms that a computer would accept, why would a human accept it? Formal proof standards are incredibly rigorous. I should think a computer should at least be able to verify the proof after being instructed as to the proposed steps - the rules are by definition well defined or there is no proof.
Now they're gonna have to port NetBSD to an earthworm to maintain their "most portable" title. I can see it now:
A badger? Hah! That's no challenge - it's got a full sized brain! NetBSD doesn't need all that power - we can run on an earthworm and like it!
Alternately, they can try running it on our politicians if they want a real challenge. Imagine a Beowulf cluster of congress critters... on a good day they might equal a pocket calculator! Imagine the budget wonders we would see.
'Can we trust the darned things?' 'Can we know what we know?'
It's not an issue of can we trust them, at least not in general. (We won't go into the question of current machines - I'll agree they're generally not there for rigorous proofs.) We're going to have to either trust some form of computation aid in proof work, or throw up our hands and abandon the field - the human brain and lifespan impose definite limits beyond which we cannot go without aid, and since I can't think of any limit human beings have willingly accepted as a group somehow I doubt this will be the first. So, instead, the question should be
"How do we create computers we can trust?"
If that is impossible, then that's it. Mathematics will be come like experimental high energy physics - 20 years effort by 100s of people to achieve one result. But I'm not ready to concede that its impossible. I know it is provable that computers can't solve all problems in general, but the same proof indicates humans can't either. The question I'm curious about is whether the behavior of a computer is too general to be attacked by useful proof methods. Most actions taken with a computer assume a definite action and a definite outcome (spreadsheets and databases, for example, do not do novel calculations but perform the same operations on well defined data.) Mathematical proof is a different question, but the ultimate question is whether a properly designed and built computer (i.e. built as rigorously as possible in a technical and algorithmic sense) would be completely unable to handle problems that are interesting to human beings in the proof field. That is a completely different question from generality statements, and from the standpoint as computers as a trustworthy tool I think it is the more interesting one.
"in closing, i would have to agree that proofs, no matter the effort and computing time put into them, really should not be viewed as being as rigorous as those provable "by hand" and human- understandable, even if the computer has arrived at a satisfactory conclusion, because we have no way of KNOWING if the computer has built up the proof correctly, except that it says it has."
What if the software itself was developed using a proof system to guarantee behavior? (Operating system, math software, etc.) Really, when it comes down to it, how do we have a way of KNOWING that there weren't human errors involved in the checking of the proof? Ultimately you have to trust SOMETHING. In my experience, computers are more reliable than humans when working on a well defined problem. How does one get more well defined than proof verification?
It depends on the requirements of your company. Initially, it wouldn't be cheap. But then, neither is deploying 10,000 PCs. The question is what is least expensive over the long term, and my hunch is it WOULD be cheaper to maintain. I don't know, I haven't studied the problem in detail. But considering the manpower/lost productivity involved with maintaining individual Windows PC machines in my experience, a robust thick client with no moving parts talking to a reliable server would solve a lot of headaches. Taking system control out of the hands of the user and reducing moving parts in the client machines seem to me to be the big wins in such a setup. The expense of hardware up front would be high of course, but considering the hardware that goes into proper networks today would it really be that different? The proposed savings in this scheme are more in less downtime, less required upkeep, and less potential for stolen hardware than in upfront cost of hardware itself. There again though - I don't know what bulk production of thick clients would cost.
I note the rather skeptical responses, and while I agree with you in broad I think the picture is going to vary slightly.
As has been pointed out, the primary weakness of a network based thin client system is there exists a single point of failure. So I would propose the following for a corporate computer network:
Two mainframe systems, in physically remote locations, each completely capable of handling the corporate network. The mainframe's will serve as the core of the network, but the thin clients will be slightly more than just monitors.
A powerful thin client (I suppose thin client might not be the proper term) is what is needed to handle the reality of an iffy network. The thin client needs to be able to function independantly in the short term. It needs to be able to hold all of it's currently-in-use software and data in memory, and be engineered to make an emergency dump to some local nonvolital memory in case of a power failure. The key benefits to this "thick client" setup are a) because it is not an independant PC with the ability to boot and load software on its own, it is not a candidate for theft b) All data is preserved automatically at a central location except in the case of an emergency, and even then it is recoverable c) software updates only have to be performed one place to be deployed company wide d) maintainance is simpler since the thin clients can in theory be made without moving parts (i.e. hard drive) if they use solid state memory for the Gig or two of non-volital emergency storage they will need. They will be more expensive than a true thin client, but I rather suspect in bulk the economics would work and certainly maintainance costs would provide more than enough incentive.
"Ideals have a place and time, but ideals also do not put food on the table, pay the rent or mortgage, and do not ensure continued employment."
And if you live life without them, the rest of the human race begins to regard you as unfeeling, a poor member of the community, and in general someone they could do without.
The founding fathers would have been a lot better off financially if they had avoided the whole revolution thing and stayed in business with the British. Making sure our sorry butts grew up in a free country at the risk of summary execution at the hands of the British wasn't a good decision from a financial point of view. Everybody lives ordinary lives, including the heros. It's how you live them that makes all the difference.
Real life is only interesting where principles are involved. Anything else and we quickly resemble hyenas fighting over dead animals.
We'd probably all be using OS2/Warp clones right now - IBM's hardware would have been reverse engineered, they wouldn't have licensed OS2/Warp, and people would have cloned it as the "standard" PC interface.
Whether that would be an improvement I have no idea. It probably would have slowed the adoption of the PC in the US (come to think of it, that might not have been a bad idea). It probably would have forced universal standards that everybody actually followed, since it would have been a heterogeneous environment. Also a lot more response to customer needs/wants probably would have gone on, due to actual competition.
BUT - Open Source probably wouldn't have taken off, since that initial pool of tech savvy people pissed off at Microsoft and having no affordable alternatives wouldn't have been there. It would still probably be a movement, but I don't think it would have the star power and momentum it has now. Maybe we should be thanking Microsoft for that, actually. Tilting is more fun if you have a nice big windmill to run into.
and in order to do it right you have to have people who really want to learn it, and live it.
Our culture does not tend to produce such people. America tends to think on the very, very short term (this is an inevitable consequence of allowing corporate/profit oriented thinking to dominate our culture) and it should come as no surprise that the get rich quick philosophy by which we define success is incompatible with good scientific training. There are always some people who will be scientists, but if you want a lot of them you can't just do nothing to promote science and then expect results.
Frank Herbert said it best - "short term decisions tend to fail in the long term". We constantly make short term decisions - we don't accept anything except instant gratification. So as a consequence the hard, long term skills tend to go undeveloped.
The question we need to ask ourselves is - do we care? I don't mean you or me, but as a country, and as a society, do we value science and other difficult skills enough to give up some of our short term gratification attitude in order to socially promote the long term view? If not, then the result is inevitable. I rather suspect we don't care, as long as our quality of life doesn't drop. The future isn't of much interest to America - we're too busy living in the present. Until that changes, and we start to value long term thinking and decisions (like putting ATTENTION, not $$, into education - $$ are just a feel good measure and do nothing to solve the real problem) we will continue to fall behind.
Remember, they aren't pulling in huge $$$$ for licenses for their OS, the way Microsoft is. Sun sells hardware. They have been known to give away their OS at zero/low cost in the past - it's their hardware that makes them the money.
Linux is good, it is very good. But it is not as good as Solaris in a lot of situations - Solaris has been in high end trenches and mission critical situations for a lot longer than Linux. An open sourcing of Solaris under GPL means several things:
a) Linux can benefit from Solaris
b) Solaris can benefit from Linux
c) Extensive code review of Solaris by the world probably won't hurt efforts to further improve security.
TREMENDOUS positive PR for Sun from an often ambilivant open source community, and a rush to make sure all important open source software runs flawlessly on Solaris (harder to test now since fewer people use it)
Problems to be delt with:
a) Making sure they have the legal rights to open source everything (of course)
b) Export restrictions? Not sure how this plays out for Solaris - since Linux is out there already I can't imagine the use of restricting Solaris (which is probably also out there, just not legally) but the government is known for a lack of common sense in such cases.
c) Fear of management that giving up ultimate control of all versions of Solaris will somehow be harmful.
Issue a) was one of the major problems when considering opensourcing BeOS - don't know how Solaris stands on such an issue.
But I think on the whole it's silly for Sun to try and compete with Linux head to head with a commercial OS - what's the point? Sun sells hardware and complete solutions, and generally does very well. If they can say "well, Solaris is GPL just like Linux, incorporates features X,Y, and Z that users generally cite as reasons they want Linux, and is proven and stable to boot" they get to just support Solaris again, and not have to worry about figuring out Linux. If that makes Solaris more widespread, what harm does that do Sun? It's not like Microsoft is going to pick up Solaris and incorporate it. Infighting among Unix like systems I think is fairly pointless in this day and age. Linux has made high priced commercial Unix licenses non-viable. So for companies like Sun, who sell hardware and solutions anyway, why not go with the flow on this one?
Here's a thought - I've heard complaints for a long time about the GIMP's interface. What about creating two operational modes for the Gimp - one where it does what it does now and one where it mimics the behavior of the Photoshop interface, down to tool locations and such?
Would this be legal? If so, perhaps it would help Photoshop users getting used to the Gimp. E.g. one of the benefits of OpenOffice is that it in many ways behavies similarly to MSOffice, and allows a shorter learning curve for switchers. It wouldn't address a lot of other valid points (lack of preview for most things, for example) but it would be a start. Sort of an XPDE for photo editors.
I'm glad to see Wordperfect return to the software stage, but I think it is far too late.
Microsoft Word OWNS the document market by virtue of mass action - no one can fight the torrent of Word documents coming at them from all sides. The stubborn of us, like me, use OpenOffice/Abiword and fight the good fight. But we also get a major benefit - those tools are zero $$$ in cost. That makes a difference, and quite realistically is the only reason they are used on a large scale - if people had to pay $$ similar to what they pay Microsoft, they'd pay it and move on. But free is good for low budget situations. There is the long term benefit of the code always being available and thus in theory the app can survive as long as it is needed, but experimental evidence seems to indicate that benefit isn't enough to counter the Momentum of Microsoft. No one is seriously worried about Word vanishing.
So, I conclude WordPerfect has no chance to be a large scale commercial product. It might survive in small corners somewhere, but the cost of it will turn off the people seriously looking for a Word alternative. It's not open source, so even the small subset who might pay $$$ for an open source app because it is open are out. Their only real potential market is businesses that are going to Linux, but want a commercial word processor and are willing to retrain their folk to WordPerfect. In that scenario OpenOffice is hard to beat, but maybe some companies don't want it. But will that be enough to fund development?
I hate to see this, but it seems to always work like this - market share is EVERYTHING. Even Linux and OpenOffice, with zero up front cost, are only slowly making headway against the inertia out there. Wordperfect doesn't have a ghost of a chance - most of its potential market (i.e. willing to consider something other than Word) has moved/will move to the free OpenOffice suite. If your retraining anyway, why not go for the free, open product?
I don't imagine Wordperfect will ever be open sourced, which is a shame. I used WP8 a little and liked it. Much lighter weight than OO, for one thing. But except as an open source app it won't survive. Too little, too late.
"immediacy is more important than accuracy"
That sums up about half of what is wrong with our news today. The other have is:
"entertainment is more important than information"
Gah. That's a scary, scary attitude. Thank goodness pbs/npr, bbc and newspapers still exist.
"In a word...yes. Or else you fail usability."
Then you'd better get paid developers - volunteer slaves are hard to come by.
"If users can't use it, they'll bitch and move on to something else."
Fine, so long as they DO move on.
"YES, if you're developing software you expect to be used publicly, you are slave to the users who will demand features, or else you're just another asshole who puts software out and then complains when people don't like it."
No, I'm a developer who has a tool I created, thought other people might like/find useful, and made freely available. If they don't care for it, there is no obligation on their part to use it. I have no obligation to respond to requests (although I might) because no one is paying me to do so. If I do respond, it's because I think it's a good/worthwhile idea, or I'm being an exceptionally generous guy that day. If you want slaves, PAY them. Frankly, if you don't want to deal with programmer egos you're in the wrong sector of computing. Go use Windows or a Mac, pay your money, and get the attitude you want.
I dunno. In a perfect world, there shouldn't be a need for this kind of thing. But since we don't live in that world, this might have practical value.
My take on this is - it's a good thing if you are paranoid or a potential target. I don't understand why Linux end users are different from Windows end users in a liability sense - can someone point me to a good explanation of why my buying a Windows license suddenly frees me from potential legal trouble, whereas the GNU GPL somehow doesn't? Why isn't the author responsible in both cases? (Not a rhetorical question - I really would like an answer.)
Anyway, I'm not sure this lawsuit insurance is a bad idea no matter WHAT you do or what you use. Lawsuits are used like clubs against business opponents nowadays, and merit or justification isn't even of interest anymore. Perhaps an insurance setup where the insurance covers the costs of a defense up to $$$, but not the consequences of a guilty verdict, would be a good way for a lot of small companies to go. If they aren't doing anything wrong, and get their ass sued by $LARGE_COMPETITOR in order to put them out of business, the lawsuit coverage would let them put up enough of a fight to make trouble for $LARGE_COMPETITOR. If $LARGE_COMPETITOR had to do this for all the smaller competitive businesses they would go up against, it might start to be rather useless for them to try such methods.
Remember, lawsuit insurance in this scenario isn't about the merits of the case - it's about being able to resist bullying attempts by litigious bastards. If you have a good case, this would allow you to fight it, but wouldn't let scum insure their way out of the financial consequences of doing something illegal. In THAT capacity, I can see this being a good idea. And not just for open source software either.
"Why the constant assumption that Grandma and Grandpa can't cope with Linux???"
;-)
Because anyone with the technical gene is not likely to be socially skilled enough to attract a mate and reproduce, and hence become a parent/grandparent?
Possibly true. Which is why I view this type of development as a perfect way for open source to do things - we might potentially achieve a level of software quality impossible in a commercial environment. Or, alternatively, perhaps someone like IBM could sponsor some high powered developers to develop a general purpose OS on such principles, viewing it as a long term investment. If they succeed and create a Linux replacement that just doesn't have software problems below the user application level, imagine the $$ IBM could make. They could sell hardware running this proven, open system where they've also proven the hardware and drivers work perfectly with the system, and put IBM level support behind the hardware itself. Other people would start to use the OS since it would be of high quality, and as businesses look around for the most reliable solution they would see IBM, who developed it, is also selling hardware proven to work well with it. Ka-ching.
Maybe it would work, maybe not. But as software becomes more critical, it becomes more and more worthwhile to Do It Right The First Time. Because as Windows has clearly proven, people don't always update their systems and if they don't they can hurt the network as well as themselves.
SELinux (or, hopefully, a similar system with a sane configuration/management interface)
I think SELinux with a configuration/management interface will do fine. Right now its in a raw, gut level functionality state. ACLS on Linux I view in a similar fashion - given a proper interface, there won't be any reason not to use it.
Part of the problem is proper security involves knowing a lot about what a program is doing, what it needs to run, etc. and most people don't want to know all those details for all their programs. I think over time people who know each application will develop a default configuration for their program that will work. The final step will be to migrate applications to a system where each option is tied to data about what that option will need to function, and automatically notifies the user about it. That way, the minimum openness necessary to run the software in the fashion the user wants is always the default, but the details of functionality are hidden as much as possible. It's an interesting interface problem, and one I would like to see solved. SELinux as a desktop default, locked down, would be a Good Thing for people who don't maintain their systems much - it wouldn't stop people from exploiting an unmaintained system completely, but it would at least make it much harder.
Interesting. OK, point conceded in Europe - you guys are lucky. I guess my thinking tends to be dominated by the US situation - I didn't realise things were that different abroad. BUT - here's something else to consider. How will they react if the US insists the EU allow software patents as part of some treaty or other? Is the EU in a position to tell the US to go to hell if they get bullyish about software patents? Because it is a real possibility. If the EU political system will stand in the face of that pressure, I might need to reconsider my cynical outlook on political thinking. Or maybe move to Europe :-).
I know. But, if the prior art is documented IN A PATENT OFFICE DATABASE, they will look very bad if they approve a patent and find the prior art later in their own files. Something being published "somewhere" is hard to find. Let's make it easier for them, and we might have less nonsense to deal with down the road.
"the bug was unmasked as a particularly subtle incarnation of a common programming error called a "race condition," triggered on August 14th by a perfect storm of events and alarm conditions on the equipment being monitored. The bug had a window of opportunity measured in milliseconds. "
Isn't this the type of problem the B Method (and maybe the Z language too) are designed to address? Use proof logic initially - once you have decided on a behavior you want, design the system in such a way that it is provable it executes this design.
That doesn't mean the DESIGN is flawless, of course. But if we start engineering software on as many levels as we can, mightn't things improve? Normal software development and testing would never have found a critical bug with rare trigger conditions and a millisecond window. If you need precision on that level, you need to (for starters) to KNOW your implimentation of your design is sound, and preferably the code you are running exactly impliments the proven logic. Isn't this what the B Method was created for?
Our protesting does absolutely nothing to sway them. We are a minute component of society with no financial clout and no connections. They most likely wouldn't miss us if we all up and vanished. We cannot cause enough trouble to cost people their offices, and our demise would please a lot of people who DO have money and connections. This is not an issue the public is worried about - they have other concerns than software.
Not that I disapprove. It's still better than nothing. But we need other contingency plans, because as far as the governments are concerned the loss of open source would not be a major one, and they will not respond to us. If we want to be effective, I think we need to look in another direction.
Specifically, if software patents are to be given power and we can't stop it, I think we should propose an compromise. If they are going to go through with this, they need to also create a mechanism by which people can document for the patent office intellectual property without any of the large fees associated with the patent filing process. This new filing path wouldn't grant the filer any unique rights to the IP - it would, however, constitute documentation of prior art which has been filed with the patent office and they are responsible for when considering new tech patents. This is the only answer I can think of which might hault the granting of absurd patents. Allow us to document all our ideas cheaply in such a way as to block patents being granted which involve obvious ideas. I would call it a Declaration of Prior Art. The filer doesn't need to be the one who had the original idea - just someone who can properly describe and document it. Then, if the patent office grants a stupid patent, we can point them to files in their own database that rule it out.
So by all means protest the patents, but remember They Don't Care. What we need instead is a method to impact the workings of the patent office. So let's lobby for the addition of a Declaration of Prior Art section to software patents. We can argue that it would help the patent office do its job, and I don't think anyone would actually have the guts to publicly state they want to take advantage of the patent office's ignorance in this field. Let's try and lobby for a mechanism where we can help the patent office be unable to grant stupid patents. That might actually provide us with a defense when (not if, IMHO) they eventually get software patents through. There's just too much $$$ behind software patents - I have zero expectation the political system will stop them based on anything like ideals. So let's get practical, and look for ways we can do more than just protest.
Microsoft isn't like IBM. IBM was in the driver's seat because of hardware, and built their empire on hardware. Then clones came in, and competition appeared. Bye bye IBM empire.
No one can realistically (maybe not even legally) create a software product that is fully compatible with Windows. Without full compatibility (which, remember, the IBM clones had) no Windows addicted workplace will risk the chaos of a switch. Software is a natural monopoly by virtue of the vast size and inflexibility of its user base. Microsoft has the world addicted. They're not going away unless they do it to themselves. Linux can dent them, but linux isn't based on traditional commercial models and is thus very suspect to a lot of businesses who don't believe there can be a "free lunch." It could take decades to demonstrate otherwise to them, and that's an eternity in the software game.
A serious question - OK, the computer approach to proofs faces limits. My question is this - what is fundamentally different about a human generated mathematical proof? What about us is different in such a way that allows us to create valid proofs that a computer cannot produce? This is a serious question.
"What makes you say this?"
There are some fundamental limits on mathematical systems that impose this behavior. I believe Gotel's work addresses this, but I'm not totally sure.
If we can't define the proof in terms of axioms that a computer would accept, why would a human accept it? Formal proof standards are incredibly rigorous. I should think a computer should at least be able to verify the proof after being instructed as to the proposed steps - the rules are by definition well defined or there is no proof.
Now they're gonna have to port NetBSD to an earthworm to maintain their "most portable" title. I can see it now:
A badger? Hah! That's no challenge - it's got a full sized brain! NetBSD doesn't need all that power - we can run on an earthworm and like it!
Alternately, they can try running it on our politicians if they want a real challenge. Imagine a Beowulf cluster of congress critters... on a good day they might equal a pocket calculator! Imagine the budget wonders we would see.
'Can we trust the darned things?' 'Can we know what we know?'
It's not an issue of can we trust them, at least not in general. (We won't go into the question of current machines - I'll agree they're generally not there for rigorous proofs.) We're going to have to either trust some form of computation aid in proof work, or throw up our hands and abandon the field - the human brain and lifespan impose definite limits beyond which we cannot go without aid, and since I can't think of any limit human beings have willingly accepted as a group somehow I doubt this will be the first. So, instead, the question should be
"How do we create computers we can trust?"
If that is impossible, then that's it. Mathematics will be come like experimental high energy physics - 20 years effort by 100s of people to achieve one result. But I'm not ready to concede that its impossible. I know it is provable that computers can't solve all problems in general, but the same proof indicates humans can't either. The question I'm curious about is whether the behavior of a computer is too general to be attacked by useful proof methods. Most actions taken with a computer assume a definite action and a definite outcome (spreadsheets and databases, for example, do not do novel calculations but perform the same operations on well defined data.) Mathematical proof is a different question, but the ultimate question is whether a properly designed and built computer (i.e. built as rigorously as possible in a technical and algorithmic sense) would be completely unable to handle problems that are interesting to human beings in the proof field. That is a completely different question from generality statements, and from the standpoint as computers as a trustworthy tool I think it is the more interesting one.
"in closing, i would have to agree that proofs, no matter the effort and computing time put into them, really should not be viewed as being as rigorous as those provable "by hand" and human- understandable, even if the computer has arrived at a satisfactory conclusion, because we have no way of KNOWING if the computer has built up the proof correctly, except that it says it has."
What if the software itself was developed using a proof system to guarantee behavior? (Operating system, math software, etc.) Really, when it comes down to it, how do we have a way of KNOWING that there weren't human errors involved in the checking of the proof? Ultimately you have to trust SOMETHING. In my experience, computers are more reliable than humans when working on a well defined problem. How does one get more well defined than proof verification?
It depends on the requirements of your company. Initially, it wouldn't be cheap. But then, neither is deploying 10,000 PCs. The question is what is least expensive over the long term, and my hunch is it WOULD be cheaper to maintain. I don't know, I haven't studied the problem in detail. But considering the manpower/lost productivity involved with maintaining individual Windows PC machines in my experience, a robust thick client with no moving parts talking to a reliable server would solve a lot of headaches. Taking system control out of the hands of the user and reducing moving parts in the client machines seem to me to be the big wins in such a setup. The expense of hardware up front would be high of course, but considering the hardware that goes into proper networks today would it really be that different? The proposed savings in this scheme are more in less downtime, less required upkeep, and less potential for stolen hardware than in upfront cost of hardware itself. There again though - I don't know what bulk production of thick clients would cost.
I note the rather skeptical responses, and while I agree with you in broad I think the picture is going to vary slightly.
As has been pointed out, the primary weakness of a network based thin client system is there exists a single point of failure. So I would propose the following for a corporate computer network:
Two mainframe systems, in physically remote locations, each completely capable of handling the corporate network. The mainframe's will serve as the core of the network, but the thin clients will be slightly more than just monitors.
A powerful thin client (I suppose thin client might not be the proper term) is what is needed to handle the reality of an iffy network. The thin client needs to be able to function independantly in the short term. It needs to be able to hold all of it's currently-in-use software and data in memory, and be engineered to make an emergency dump to some local nonvolital memory in case of a power failure. The key benefits to this "thick client" setup are a) because it is not an independant PC with the ability to boot and load software on its own, it is not a candidate for theft b) All data is preserved automatically at a central location except in the case of an emergency, and even then it is recoverable c) software updates only have to be performed one place to be deployed company wide d) maintainance is simpler since the thin clients can in theory be made without moving parts (i.e. hard drive) if they use solid state memory for the Gig or two of non-volital emergency storage they will need. They will be more expensive than a true thin client, but I rather suspect in bulk the economics would work and certainly maintainance costs would provide more than enough incentive.
Slashdot is not one voice - it is many. Get ready to see any and all viewpoints on all issues here. We aren't the borg collective.
"Ideals have a place and time, but ideals also do not put food on the table, pay the rent or mortgage, and do not ensure continued employment."
And if you live life without them, the rest of the human race begins to regard you as unfeeling, a poor member of the community, and in general someone they could do without.
The founding fathers would have been a lot better off financially if they had avoided the whole revolution thing and stayed in business with the British. Making sure our sorry butts grew up in a free country at the risk of summary execution at the hands of the British wasn't a good decision from a financial point of view. Everybody lives ordinary lives, including the heros. It's how you live them that makes all the difference.
Real life is only interesting where principles are involved. Anything else and we quickly resemble hyenas fighting over dead animals.
We'd probably all be using OS2/Warp clones right now - IBM's hardware would have been reverse engineered, they wouldn't have licensed OS2/Warp, and people would have cloned it as the "standard" PC interface.
Whether that would be an improvement I have no idea. It probably would have slowed the adoption of the PC in the US (come to think of it, that might not have been a bad idea). It probably would have forced universal standards that everybody actually followed, since it would have been a heterogeneous environment. Also a lot more response to customer needs/wants probably would have gone on, due to actual competition.
BUT - Open Source probably wouldn't have taken off, since that initial pool of tech savvy people pissed off at Microsoft and having no affordable alternatives wouldn't have been there. It would still probably be a movement, but I don't think it would have the star power and momentum it has now. Maybe we should be thanking Microsoft for that, actually. Tilting is more fun if you have a nice big windmill to run into.