I think there's too much conciliation, though. Right now there isn't much profit in Linux. That's why we have to show them that we have memories -- and if there's a chance that Linux will be more important in the future, they'd do well to establish themselves now.
As long as any company can make small offerings, irregardless of what they've done (or not done) before, and then get lots of good press, we're not doing ourselves service. The late comers get better publicity than small but consistently helpful hardware manufacturers.
All this Internet investment place Linux in a situation where it could manipulate others or get manipulated. The long bet has payed off big for some, and companies are looking for the next long bet. We can use that. But as long as we approach these hardware manufacturer begging they will see us only as beggars.
I understand where you're coming from, but blacklisting companies that haven't emraced open source will not encourage others to do so.
But it will. I mean, really, why wouldn't it? Do you think there are companies that would say "if they don't like us, we don't like them" and then go stomping off, never to look at Linux again? It's not like it wouldn't be clear on how you get off the blacklist.
There are companies out there that have been quite supportive of XFree86. They should be rewarded. There are enough of these hardware manufactures that there's no need for a Linux user to ever buy anything else. So why not encourage people explicitly to buy from friendly, open companies?
And there's some companies that have been doing the right thing for a long time, and have documented their hardware for a long time, and have been very helpful in bringing Linux to where it is now. Being so focused on the future that you don't remember who your friends are doesn't help make friends.
Right now all the information about who's been good to Linux comes from a few remarks I've heard here and there, and a vague memory of what used to be supported a while back. I would like to know what manufacturers have had a history with Linux (including XFree86), and have been helpful providing drivers, documentation, and monitary support. I know such a list would make a big different in my buying habits. I know such things make a big difference in the quality of the drivers, and good hardware without good drivers is useless.
As we all know, nearly all encryption works with hard algorithms -- something that takes a prohibitively long time to break. But people somehow think that "prohibitively" must mean a thousand years or something. I think this is because people become too narrowly focused on certain kinds of security. Quake doesn't matter that much. Cheating on Quake won't make anyone rich, and the feeling of power you might get is pretty pathetic really.
All the security in Quake has to stand up to is a few years of not very hard attempts to break it. That is, in a few years Quake won't be so exciting and people won't care too much, and until then cracking Quake can only be a hobby anyway. Foreign operatives and the NSA couldn't give a damn.
In this situation security through obscurity is enough. And it has worked fairly well up to now -- not perfectly, but well enough. It might not have been as hard to disassemble Quake or make a proxie as it would be to break a key, but it has been hard enough.
ESR is being dumb when he says that client caching is bad. He's being a total blockhead. Quake isn't an eCommerce application. It's a game. Speed and quality of play are the most important aspects, not security. And when the two conflicted, quality of play won -- as it should have.
I don't think the author here was very insightful. Linux obviously needs something, but he's just rehashing the same old stuff. Here's what I think Linux needs:
New, cheap computers with Linux installed. Setting up X is horrible, and that's just the way it is. Setting up Windows isn't that easy either. So we'll avoid it just like Windows does. The great thing is that Linux computers could be really cheap. We need an eMachine, not a VA Linux.
Printing needs to be fixed. Printing under Un*x just isn't very good. Ideally, a whole new system could be set up, complete with nice libraries. Maybe CUPS would be a good alternative. I don't see any real salvation for lprd.
Applications aren't that important. Lots of people never need anything more than the MS Works that comes with their computers -- StarOffice clearly matches that, and hopefully with a little polish the Free alternatives (KOffice, AbiWord, the GNOME efforts, etc.) will be there soon too. Polish is more important than features at this point.
Mindshare (uck... I feel dirty for using that word). Anyway, people have friends who know Windows, and that provides an important support structure for people. This makes for a chicken and egg problem, but the Internet has already shown us the solution. Linux has a great Internet support structure, but for Internet newbies this can seem a little intimidating. Making something a little more friendly would be helpful.
Games. Linux doesn't have lots of good games. People like games, parents buy computers with the notion that while the computer might not be for games, the kids would really like to play them. And some people just buy a computer to get games. LokiSoft is really the best short-term model for this. Commercial companies will dominate this for a long time, and that's just fine IMHO.
A few things need to be hidden. Like all those libraries. Debian's Apt provides a good start for this. People shouldn't need to think about what libraries they have to have installed, it should just happen.
Applications aren't that important. People like to buy a computer that can do something before they get more software. Linux distributions already typically include far, far more functionality than a normal new Windows install. This is something Linux advocates should be pushing. Shrinkwrapped retail boxes aren't where Linux will shine, and it doesn't need to.
Re:the freedom to fork versus wrtie-once-run-anywh
on
RMS on Java and GPL
·
· Score: 2
Sheesh, how, then, is it that we have 200 000 lines of Java code at our company that runs just fine on Solaris, Windows and Linux? Not a single line of code needs to be changed between these environments?
I stand by my statement. Enough so that I'll even repeat it again: WORA is a complete myth.
And I don't doubt what you are saying is true, either. Your corporation has a carefully controlled environment and if Java isn't set up on a computer, you have people to fix that. But the last two letters of WORA stand for Run Anywhere. I didn't say that the computers at your company can't all run the stuff. But most computers don't have a JVM all nicely set up so that they can run Java.
In a controlled corporate environment, Java may be able to approach its ideal. But controlled corporate environments are not "anywhere"! And I'm not just being anal, though maybe I'm not thinking in a corporate manner.
And anyway, with carefully enough written ANSI C you could make something nearly WORA. If you are willing to put the effort into it, many things can be portable. Maybe Java is easier than other solutions this way, maybe not, I wouldn't know. But Java is not such a clear winner as it would have itself be.
Squeak is trully WORA, so it can be done. But Java for one reason or doesn't choose to make that choice.
Re:the freedom to fork versus wrtie-once-run-anywh
on
RMS on Java and GPL
·
· Score: 3
What struck me about the discussion at JavaLobby is how people were defending things that didn't exist.
Sun has not shown itself to be a good supporter of Java even in the realms they champion. If they believe in write-one-run-anywhere, they have not made that a success. Running Java through the browser is a highly substandard and unrobust solution, but at this point few people have the libraries, VM, or whatever else they need to run Java programs any other way. WORA is a complete myth, and Sun's efforts are pathetic in this area, particularly distribution.
As far as standardization, we already know what Sun thinks about that. But even then Sun has the ability to create a defacto standard if they released complete specifications. They haven't. They also haven't released reference code, since code under the SCSL is clearly not usable in this fashion. Even a poorly documented and implemented Free J*va would provide a better basis for standardization.
As far as forking, Java already has forking because Sun licenses Java code to other companies for other purposes. Besides the fact that Java can't be run at all in many environments, the various implementations of Java run it differently. Sure, Sun can reel these implementations back in, but it hasn't. Anyone could reel these implementations back in if Java was Free.
Regarding economics, Free Software specifically allows itself to be sold with the profits completely retained by the seller. Something I would consider more compatible with marxist ideals would be more along the lines of "Free for non-commercial use" and "Pay x% of your profits if you're making money with this. We'll make sure it gets to a needy person".
I said RMS was a communist, but I didn't say he was a Marxist. Anyway, even a Marxist communist wouldn't go for that tax -- the distinction between commercial and noncommercial isn't really appropriate in a communist setting.
I think RMS is most thoughtful and most firm in his beliefs in the realm of software, and more generally utilitarian information (as opposed to expressive information). And it's in this very realm that he is most communist. I don't speak about economics in terms of who makes what profit -- I speak of an economics more fundamental. At the base of all economics is distribution. Who makes what, who gets what, how does it get there.
RMS wants us all to make software as we desire and need, and to give everything we have to everyone. It doesn't get there by any centralized organization, but by the trust in goodwill that makes it inevitable that when the first person gives the software away the chain will not be broken -- and it seldom is.
At least, that's what the GPL does, in spirit as in practice. And how could it be more communist? The GPL neither denies nor supports profit. But places the rights of the user (the masses) above the rights of the author (the capitalist). That sounds communist to me. But that doesn't have to be a bad thing.
Maybe RMS doesn't want the means of production to be placed exclusively in the hands of the people, or start a violent overthrow of the ruling class to make room for a dictatorship of the proletariat, but that's just one perspective on communism.
I think RMS' disdain for security has to do with the fact that RMS lives his life with great integrity, and there's not a distinction between the public and the private -- or rather, he feels no reason that he must make that distinction, but that people can decide what part of RMS' life they want to know about. Not that he blends public and private, but doesn't acknowledge the two at all.
I don't think I could do this myself -- there are things that I want to keep to myself. And, if I felt I could stand up for all of my life and had no shame in anything I did, I wouldn't feel the need to hide anything and would have much less need for security.
I don't know if it could really work for all of society could either. Some people have a strong enough will to disagree fully in public, but I fear most people would feel that their only choice was conformity if we didn't have privacy.
It's a tantalizing idea, though... information egalitarianism and a certain blending of the person into the whole. Of course, that sentence itself would put many a person off of the idea right out. But somewhere in it, it's more about honesty than anything else -- we live in public and effect our world greatly, so shouldn't we be entirely honest about who we are?
I think RMS really is a communist, even though he strongly denies it. He's not authoritarian or fascist at all, though those are often confused with communism. But really -- "to each by his need, from each by his ability". I'd like to be communist, but it takes a lot to live up to such an ideal -- all I can say now is that I'm a communist sympathizer:)
I know this isn't a popular opinion around here, but management does serve a purpose sometime. Management, when done well, can provide a larger perspective and a voice for longer-term goals.
The guy who implements some system often doesn't have nearly as much commitment to the organization or the system as necessary. We're talking about a government here, not a single office. There needs to be data compatibility between thousands of offices, and that data and those systems will probably need to persist long after the person who implemented them has gone.
Right now in the US the data system of the government is a disaster -- information is being constantly lost because no one knows how to read it anymore. But when that data was first stored, the solution they found probably made sense at that time.
Data compatibility issues won't be solved at all if the individuals at local locations are left to their own devices. All those different offices won't suddenly come to concensus on these issues on their own -- and it only takes a few rebels to make everything much more difficult.
This is where policy and the actions of upper management are really necessary. Free Software is much safer than proprietary software in a fundamental way. And I don't mean "safer" in terms of you won't lose your job but in terms of years later when you ask someone to deal with a decaying system, they actually can. To often this isn't the case with proprietary systems.
This isn't so much a low-level technical decision as it is a high-level policy decision. It's also a political decision. It should be treated like one.
Just for example, if internet voting is adopted I think a law requiring the sources for the voting software to be public would not be unwise. Otherwise the designer of the voting software could exert political influence, or datamine voters, without anyone realizing it.
More likely, and more dangerous in this case, would be the government itself putting monitoring into the system. At this point that's very hard to do something like this on any real scale because so many individuals are involved in the voting system, and at least a few of them would be whistleblowers.
By automating the system more (any system), less people are involved and it's easier to get away with things. Transparency in the government is important as much to protect us from the government as to protect the government itself. And as that transparency continues to decrease (more confidential documents, more closed meetings...) we are all in significant danger.
Calling for a boycott isn't going to affect Amazon's bottom line a bit.
Of course it won't affect their bottom line -- they have none. They don't make any money, and it doesn't really seem to matter how much money they lose.
Amazon is built on mindshare, not economics. So maybe a boycott can actually affect them, because it doesn't have to attack them economically, it only has to make them look bad. Amazon is the best and brightest son of the Internet in the minds of the stock brokers -- the first, the biggest, with the biggest eCommerce ambitions. It might be meaningful if the Next Big Thing on the Internet (Open Source) attacks it. Or it might not -- that's yet to be seen.
Anyway, I can't really boycott in any meaningful way -- I only bought from Amazon once, won't do it again. I like low-profile Internet businesses, ones that are honest and humble. Amazon is neither. They do what they do well -- they're very seductive -- but they also have a vision for the Internet that I don't share and can't support.
Re:Revolution-proofing the elites
on
WTO + SDMI = NWO
·
· Score: 1
Yet local potentates comply with the IMF because without the goodwill of the world community, upon which they are dependent, their countries would collapse.
Or at least the local elites' world would collapse and their gig would be up for grabs...
Sadly enough, there is never a lack of thugs for hire. They might be the kind beat up a union organizer, or they might be the ones who hire the ones who hire the ones who beat up the...
No country, no location, is without its elite. And in the world we live in now, everyone answers to someone else, gets paid off by a person or a process, has something to protect and a system to preserve.
Not that it's ever been any different. But at least there used to be a time when the people who were manipulating you shared much of your fate. As the system becomes bigger, the person who feels the effect is more detached from the person who creates the effect.
small countries can not afford to object those big corporations.. "if you do not give us the right to pollute your environment we will take our $$$ elsewhere.." etc..
I don't think it's correct that a country couldn't reasonably go it alone. Many nations have a wide enough variety of resources and a high enough level of production that economic self-determination is (theoretically) possible.
The problem is that the rest of the world (read: corporate/industrial world) won't let them. I think there's a good chance that Yugoslavia would have gone it alone -- they had done it before (during the communist era) and there was every reason to do it again when you look at the extreme poverty that the free market has brought to much of Eastern Europe.
But we didn't let them. Croatia was encouraged to secede -- by Germany of all countries (not surprising, but particularly malicious). Bosnia has been transformed into a colony of the EU. Kosovo... well, everything leading up to that was a farce, allowing the NATO to destroy Yugoslavia even more...
Other countries that go it alone don't do well. Nicaragua, Angola, Congo... in an even moderately just world it would be an option, but not at this point.
international organisations are necessary. but we want them to be democratically controlled. until we have world wide voting this could be achieved if the national governments send representatives there and each one has votes..
Voting doesn't make an institution democratic. A fair distribution of power and influence in the government makes it democratic.
There is no effort from any of these international organizations (or their constituent governments) to make themselves democratic.
Is it reasonable to think they will do an about-turn and embrace democracy? That they will respect anything but corporations and political power-mongers? I don't see it happening.
An international government is necessary and inevitable. But it can come about many ways and in many contexts, and I don't see any of those other contexts being worse than what we got now or what we're moving towards.
Reform can tweak the process, but this process requires far far more than tweaking. It cannot be salvaged, but maybe it can be stopped so that something else can take its place in the future.
Finally, I'll believe all the amateur crap that debian-legal spews, the day someone can give me a reasonable explanation as to why companies who have actual lawyers (Corel, Caldera, Red Hat themselves, SuSE) redistribute KDE without any apparent fear of litigation.
It's not just about litigation. It's pretty easy to see that litigation was never going to come out of this -- litigation against KDE would bring rifts in the community that would dwarf the bad feelings up until now. And the people who would potentially bring litigation are mostly volunteer coders who don't have the resources to do that sort of thing. Litigation is a corporate thing.
But there is such a thing as principle. The GPL doesn't seem to allow KDE's situation. Some people who have released code under the GPL feel this way, and to use their code like that is to disrespect them and to disrespect the intention of the GPL. If the authors had meant for their GPLed code to be used that way, they would have used the LGPL.
If you've ever read the GNU Manifesto or similar documents, you'll have seen that the GPL isn't about litigation and legal obligation, it is about a moral imperative and the legal means it uses (the GPL) is only a tool to that end. Debian didn't decide not to distribute KDE because of a fear of litigation -- it decided to do so because KDE was not respecting the GPL.
To the user, HURD looks a lot like Un*x. It's a microkernel operating system, which means that there is a small kernel (relatively) who's primary duty is to help various daemons communicate with each other.
These daemons do all work, and make the system look like a POSIXesque system. The daemons are (theoretically) easier to mix and match then a big monolithic kernel's functions. They also could potentially perform better in an SMP environment (since there's lots of seperate processes).
The other big thing in the HURD is file translators -- these are programs that are run when a file is opened, read, written to, whatever. So, for instance, you could have a file translator that creates virtual directories or makes a transparent ftp connection (so that, for instance, the file/ftp/ftp.cdrom.com/pub/README would transparently retrieve a file).
Taking a pre-existing GPL application and modifying it to run with a QPL library could possibly be against the license, but that is not the case with KDE.
By jove, I think he's got it.
That's exactly the issue with KDE. Like any good open source project, KDE reused code from other projects. That code was GPLed. The original authors specifically chose to use the GPL, and that specifically excludes Qt. (though perhaps the system library clause of the GPL allows Qt, but that's a different issue)
Now, to make KDE legal they have to relicense their programs where they used the GPL (there is a push for Artistic licensing in KDE apps) or add an exception to the GPL. To add an exception to someone else's licensing requires the person's permission. To become legal, KDE has to get the permission of a lot of people. It's not an insignificant issue.
Actually, it was more meant for the proprietary libc's that came with the Un*x systems that GNU was bootstrapped on. When the Motif issue came about, people kind of looked the other way (RMS included), but it was an uncomfortable situation. Emacs (the quintessential RMS work) has never used Motif, even though the crufty widgets it used in lieu aren't great to work with (Xawe, I think).
The thing is, Motif was never a very viable development tool for free software developers. You have to statically link, people on non-proprietary Unicen usually don't have the development libraries, etc. So, people could look the other way because there was never any real danger of it starting a trend.
Qt is viable. That it is Open Source isn't terribly meaningful, because the GPL doesn't mention Open Source in any way -- and it shouldn't, because the Open Source Definition is hardly a legally robust document.
The very little I've read about AS/400 looks quite interesting. It seems like they've quite a lot of layers of abstraction ontop of the raw hardware -- more than traditional Unix and friends.
But I've almost never seen any real information on it -- probably because of the proprietary thing. Do you know of any good resources/papers/descriptions of AS/400 on the web?
"Orthogonal" as used here means something like "independant". That is, the persistance is independant of any other coding issues.
Normally, you get persistance by doing FILE *myfile; myfile=open("somefile.txt", "w"); put(myinfo, myfile);
And, of course put is some complicated procedure that converts any information into a string, and God help you if you have pointers in that data. Persistance here is not independant of other issues, but is deeply involved with the internals of your code.
With orthogonal persistance you simply create an object (i.e., a bit of data) and it is persistant -- it exists until destroyed, not until the process is killed, not until the computer is rebooted, until you actually get rid of it (garbage collection and other language constructs can make the destruction easy). More importantly, if you have a pointer to an object you don't have to worry about it just disapearing out from under you, or making a local copy that your process controls, or whatever.
I think orthogonal persistance is the most important thing to happen in operating systems since multitasking.
Most of the other things people are doing are boring at best. SMP? Anything but new -- so you stick a few more processors in a box. Security? Capabilities are definately the right way to do stuff (EROS uses them), but they don't change computers that much. They just fine tune and generalize security, and would allow information to be more easily shared -- plus getting rid of all the dumb sandbox efforts -- but they wouldn't change what computing meant.
Microkernels were only really important on the implementation side, even if they were to have succeded. Distributed computing is still a long way off in any meaningful manner -- resource farms aren't too interesting. I can't think of much really exciting... maybe OO, CORBA, and the like have some interesting possibilities in extending the basic infrastructure on a computer.
Orthogonal persistance doesn't seem all that interesting -- persistance already exists, after all, but you just have to explicitly save (in an app), or open a file (from code). But when persistance comes for free everything is just so much easier -- and making it easier to program stuff really is important. Objects become something tangible, not attached to a process or a session. If you added OS-level garbage collection then you'd have something really powerful. Objects would finally subsume processes and algorithms and the computer would be an environment instead of a machine.
My head is in the clouds at the moment, excuse me. Anyway, if you feel like reading other clouded thoughts on OS design (none of it by me), you might be interested in the all-talk TUNES OS. Less code makes room for more talk! But you got to give them credit, at least they don't pretend to be anything but what they are:)
Is it possible that they could translate something like Java bytecodes at a speed on par with compiled C code? Well, I guess the answer is: no one has any idea.
But if they could do something like that -- not just for Java, but other environments that do better with dynamic compiling (like polymorphic OO systems, e.g. Smalltalk, Common Lisp) -- that would mean a real revolution in programming. The advantages of C for anything other than systems programming would be greatly diminished.
Of course, if the translation is all hardcoded, that's unlikely to be very helpful for higher-level languages. And maybe the translation assumes some sort of commonality -- registers and the sort -- that most processors share, but wouldn't be shared by most sorts of bytecodes. This reminds me of what Linus was talking about in his article on the portability of Linux.
Different schools have different priorities. If you happen to have someone up to doing the maintenance and you simply don't have the money, then refurbished computers could be good.
And I'm really not sure on what the reliability of refurbished computers is. You can get homogeneous sets of refurbished computers (assuming you're not working with donations). Even if they aren't quite as reliable as a Sun Ray, the magic of network computers is that they don't have to be. They are cheap and easy to replace. So if you lose two 486s a year -- instead of probably zero Sun Rays -- you're not worse off. Without hard drives, the failure rate is much lower.
Even if you don't get refurbished computers, you can by cheap new PCs for the same as Sun Rays, and treat them like network computers. Except, even better, you don't need to have application servers, because they'll be powerful enough to do that themselves.
The application servers don't make administration any easier, as I can see. Diskless computers help a lot, and homogeneous computers help a lot. The only reason for moving actual code execution off the local computer is economic -- and I don't think that the current economics of computers support that.
As I'm sure everyone knows, you can do the same with Linux. (OpenClassroom serves to make this easier with a education-minded Linux distribution)
Right now there's something like this being done at the Corbett school in Tucson Arizona. The link won't show you much other than some drawing by the students, but there's a short description in an email. It's a work in progress, done mostly by volunteers.
Really, it all comes down to making a bunch of cheap X terminals and some application servers. The X terminals can be much cheaper than $400 (refurbished 486's work well enough). Though they are hard to maintain, it's even possible with donated equipment (which, while plentiful for schools, tends to be otherwise useless). There has been a lot of discussion about this on the SEUL-edu mailing list (interested people are invited to join).
Maintenance issues as a whole are very important in schools, with public labs, occasionally malicious users, and a lack of knowlegable admins. The lack of security on Windows and Macs make them totally inappropriate for classroom use, but somehow most schools don't seem to appreciate this. As a result, school computers tend to be finicky and inflexible, and take up as much time doing dumb technical stuff as they do helping children learn.
The alternative is the laptop schools, which is to me a Very Bad Idea. But at least the computers trully are personal -- and if the kid messes up their computer, they've messed up their computer. But there's so many minuses to laptops...
Of course the Riverdale school has been using Linux for a long time on the server side, but recently there's been a lot more activity on the client side as well. I think Linux can do most of what most schools want to do right now, which doesn't make it perfect at all, but perfection is not a serious option to many schools -- or even half-way decent (I'm sorry to say).
Learnux is a Canadian volunteer effort to recycle old computers into useful Linux computers.
There are a ton of preceding and current desktop environments: KDE, CDE, GNUStep, Windows, MacOS, Xerox Star, BeOS, QNX/Photon, and a whole bunch of others.
Are there any ideas from other such environments that you think are really neat? Any ideas that you would like to be part of Gnome, or even plan to try yourself?
As long as any company can make small offerings, irregardless of what they've done (or not done) before, and then get lots of good press, we're not doing ourselves service. The late comers get better publicity than small but consistently helpful hardware manufacturers.
All this Internet investment place Linux in a situation where it could manipulate others or get manipulated. The long bet has payed off big for some, and companies are looking for the next long bet. We can use that. But as long as we approach these hardware manufacturer begging they will see us only as beggars.
There are companies out there that have been quite supportive of XFree86. They should be rewarded. There are enough of these hardware manufactures that there's no need for a Linux user to ever buy anything else. So why not encourage people explicitly to buy from friendly, open companies?
And there's some companies that have been doing the right thing for a long time, and have documented their hardware for a long time, and have been very helpful in bringing Linux to where it is now. Being so focused on the future that you don't remember who your friends are doesn't help make friends.
Right now all the information about who's been good to Linux comes from a few remarks I've heard here and there, and a vague memory of what used to be supported a while back. I would like to know what manufacturers have had a history with Linux (including XFree86), and have been helpful providing drivers, documentation, and monitary support. I know such a list would make a big different in my buying habits. I know such things make a big difference in the quality of the drivers, and good hardware without good drivers is useless.
As we all know, nearly all encryption works with hard algorithms -- something that takes a prohibitively long time to break. But people somehow think that "prohibitively" must mean a thousand years or something. I think this is because people become too narrowly focused on certain kinds of security. Quake doesn't matter that much. Cheating on Quake won't make anyone rich, and the feeling of power you might get is pretty pathetic really.
All the security in Quake has to stand up to is a few years of not very hard attempts to break it. That is, in a few years Quake won't be so exciting and people won't care too much, and until then cracking Quake can only be a hobby anyway. Foreign operatives and the NSA couldn't give a damn.
In this situation security through obscurity is enough. And it has worked fairly well up to now -- not perfectly, but well enough. It might not have been as hard to disassemble Quake or make a proxie as it would be to break a key, but it has been hard enough.
ESR is being dumb when he says that client caching is bad. He's being a total blockhead. Quake isn't an eCommerce application. It's a game. Speed and quality of play are the most important aspects, not security. And when the two conflicted, quality of play won -- as it should have.
- New, cheap computers with Linux installed. Setting up X is horrible, and that's just the way it is. Setting up Windows isn't that easy either. So we'll avoid it just like Windows does. The great thing is that Linux computers could be really cheap. We need an eMachine, not a VA Linux.
- Printing needs to be fixed. Printing under Un*x just isn't very good. Ideally, a whole new system could be set up, complete with nice libraries. Maybe CUPS would be a good alternative. I don't see any real salvation for lprd.
- Applications aren't that important. Lots of people never need anything more than the MS Works that comes with their computers -- StarOffice clearly matches that, and hopefully with a little polish the Free alternatives (KOffice, AbiWord, the GNOME efforts, etc.) will be there soon too. Polish is more important than features at this point.
- Mindshare (uck... I feel dirty for using that word). Anyway, people have friends who know Windows, and that provides an important support structure for people. This makes for a chicken and egg problem, but the Internet has already shown us the solution. Linux has a great Internet support structure, but for Internet newbies this can seem a little intimidating. Making something a little more friendly would be helpful.
- Games. Linux doesn't have lots of good games. People like games, parents buy computers with the notion that while the computer might not be for games, the kids would really like to play them. And some people just buy a computer to get games. LokiSoft is really the best short-term model for this. Commercial companies will dominate this for a long time, and that's just fine IMHO.
- A few things need to be hidden. Like all those libraries. Debian's Apt provides a good start for this. People shouldn't need to think about what libraries they have to have installed, it should just happen.
Applications aren't that important. People like to buy a computer that can do something before they get more software. Linux distributions already typically include far, far more functionality than a normal new Windows install. This is something Linux advocates should be pushing. Shrinkwrapped retail boxes aren't where Linux will shine, and it doesn't need to.And I don't doubt what you are saying is true, either. Your corporation has a carefully controlled environment and if Java isn't set up on a computer, you have people to fix that. But the last two letters of WORA stand for Run Anywhere. I didn't say that the computers at your company can't all run the stuff. But most computers don't have a JVM all nicely set up so that they can run Java.
In a controlled corporate environment, Java may be able to approach its ideal. But controlled corporate environments are not "anywhere"! And I'm not just being anal, though maybe I'm not thinking in a corporate manner.
And anyway, with carefully enough written ANSI C you could make something nearly WORA. If you are willing to put the effort into it, many things can be portable. Maybe Java is easier than other solutions this way, maybe not, I wouldn't know. But Java is not such a clear winner as it would have itself be.
Squeak is trully WORA, so it can be done. But Java for one reason or doesn't choose to make that choice.
Sun has not shown itself to be a good supporter of Java even in the realms they champion. If they believe in write-one-run-anywhere, they have not made that a success. Running Java through the browser is a highly substandard and unrobust solution, but at this point few people have the libraries, VM, or whatever else they need to run Java programs any other way. WORA is a complete myth, and Sun's efforts are pathetic in this area, particularly distribution.
As far as standardization, we already know what Sun thinks about that. But even then Sun has the ability to create a defacto standard if they released complete specifications. They haven't. They also haven't released reference code, since code under the SCSL is clearly not usable in this fashion. Even a poorly documented and implemented Free J*va would provide a better basis for standardization.
As far as forking, Java already has forking because Sun licenses Java code to other companies for other purposes. Besides the fact that Java can't be run at all in many environments, the various implementations of Java run it differently. Sure, Sun can reel these implementations back in, but it hasn't. Anyone could reel these implementations back in if Java was Free.
I think RMS is most thoughtful and most firm in his beliefs in the realm of software, and more generally utilitarian information (as opposed to expressive information). And it's in this very realm that he is most communist. I don't speak about economics in terms of who makes what profit -- I speak of an economics more fundamental. At the base of all economics is distribution. Who makes what, who gets what, how does it get there.
RMS wants us all to make software as we desire and need, and to give everything we have to everyone. It doesn't get there by any centralized organization, but by the trust in goodwill that makes it inevitable that when the first person gives the software away the chain will not be broken -- and it seldom is.
At least, that's what the GPL does, in spirit as in practice. And how could it be more communist? The GPL neither denies nor supports profit. But places the rights of the user (the masses) above the rights of the author (the capitalist). That sounds communist to me. But that doesn't have to be a bad thing.
Maybe RMS doesn't want the means of production to be placed exclusively in the hands of the people, or start a violent overthrow of the ruling class to make room for a dictatorship of the proletariat, but that's just one perspective on communism.
I don't think I could do this myself -- there are things that I want to keep to myself. And, if I felt I could stand up for all of my life and had no shame in anything I did, I wouldn't feel the need to hide anything and would have much less need for security.
I don't know if it could really work for all of society could either. Some people have a strong enough will to disagree fully in public, but I fear most people would feel that their only choice was conformity if we didn't have privacy.
It's a tantalizing idea, though... information egalitarianism and a certain blending of the person into the whole. Of course, that sentence itself would put many a person off of the idea right out. But somewhere in it, it's more about honesty than anything else -- we live in public and effect our world greatly, so shouldn't we be entirely honest about who we are?
I think RMS really is a communist, even though he strongly denies it. He's not authoritarian or fascist at all, though those are often confused with communism. But really -- "to each by his need, from each by his ability". I'd like to be communist, but it takes a lot to live up to such an ideal -- all I can say now is that I'm a communist sympathizer :)
The guy who implements some system often doesn't have nearly as much commitment to the organization or the system as necessary. We're talking about a government here, not a single office. There needs to be data compatibility between thousands of offices, and that data and those systems will probably need to persist long after the person who implemented them has gone.
Right now in the US the data system of the government is a disaster -- information is being constantly lost because no one knows how to read it anymore. But when that data was first stored, the solution they found probably made sense at that time.
Data compatibility issues won't be solved at all if the individuals at local locations are left to their own devices. All those different offices won't suddenly come to concensus on these issues on their own -- and it only takes a few rebels to make everything much more difficult.
This is where policy and the actions of upper management are really necessary. Free Software is much safer than proprietary software in a fundamental way. And I don't mean "safer" in terms of you won't lose your job but in terms of years later when you ask someone to deal with a decaying system, they actually can. To often this isn't the case with proprietary systems.
This isn't so much a low-level technical decision as it is a high-level policy decision. It's also a political decision. It should be treated like one.
By automating the system more (any system), less people are involved and it's easier to get away with things. Transparency in the government is important as much to protect us from the government as to protect the government itself. And as that transparency continues to decrease (more confidential documents, more closed meetings...) we are all in significant danger.
Though I imagine we probably agree on this.
Amazon is built on mindshare, not economics. So maybe a boycott can actually affect them, because it doesn't have to attack them economically, it only has to make them look bad. Amazon is the best and brightest son of the Internet in the minds of the stock brokers -- the first, the biggest, with the biggest eCommerce ambitions. It might be meaningful if the Next Big Thing on the Internet (Open Source) attacks it. Or it might not -- that's yet to be seen.
Anyway, I can't really boycott in any meaningful way -- I only bought from Amazon once, won't do it again. I like low-profile Internet businesses, ones that are honest and humble. Amazon is neither. They do what they do well -- they're very seductive -- but they also have a vision for the Internet that I don't share and can't support.
Sadly enough, there is never a lack of thugs for hire. They might be the kind beat up a union organizer, or they might be the ones who hire the ones who hire the ones who beat up the...
No country, no location, is without its elite. And in the world we live in now, everyone answers to someone else, gets paid off by a person or a process, has something to protect and a system to preserve.
Not that it's ever been any different. But at least there used to be a time when the people who were manipulating you shared much of your fate. As the system becomes bigger, the person who feels the effect is more detached from the person who creates the effect.
The problem is that the rest of the world (read: corporate/industrial world) won't let them. I think there's a good chance that Yugoslavia would have gone it alone -- they had done it before (during the communist era) and there was every reason to do it again when you look at the extreme poverty that the free market has brought to much of Eastern Europe.
But we didn't let them. Croatia was encouraged to secede -- by Germany of all countries (not surprising, but particularly malicious). Bosnia has been transformed into a colony of the EU. Kosovo... well, everything leading up to that was a farce, allowing the NATO to destroy Yugoslavia even more...
Other countries that go it alone don't do well. Nicaragua, Angola, Congo... in an even moderately just world it would be an option, but not at this point.
Voting doesn't make an institution democratic. A fair distribution of power and influence in the government makes it democratic.There is no effort from any of these international organizations (or their constituent governments) to make themselves democratic.
Is it reasonable to think they will do an about-turn and embrace democracy? That they will respect anything but corporations and political power-mongers? I don't see it happening.
An international government is necessary and inevitable. But it can come about many ways and in many contexts, and I don't see any of those other contexts being worse than what we got now or what we're moving towards.
Reform can tweak the process, but this process requires far far more than tweaking. It cannot be salvaged, but maybe it can be stopped so that something else can take its place in the future.
But there is such a thing as principle. The GPL doesn't seem to allow KDE's situation. Some people who have released code under the GPL feel this way, and to use their code like that is to disrespect them and to disrespect the intention of the GPL. If the authors had meant for their GPLed code to be used that way, they would have used the LGPL.
If you've ever read the GNU Manifesto or similar documents, you'll have seen that the GPL isn't about litigation and legal obligation, it is about a moral imperative and the legal means it uses (the GPL) is only a tool to that end. Debian didn't decide not to distribute KDE because of a fear of litigation -- it decided to do so because KDE was not respecting the GPL.
These daemons do all work, and make the system look like a POSIXesque system. The daemons are (theoretically) easier to mix and match then a big monolithic kernel's functions. They also could potentially perform better in an SMP environment (since there's lots of seperate processes).
The other big thing in the HURD is file translators -- these are programs that are run when a file is opened, read, written to, whatever. So, for instance, you could have a file translator that creates virtual directories or makes a transparent ftp connection (so that, for instance, the file /ftp/ftp.cdrom.com/pub/README would transparently retrieve a file).
You can read much more at the HURD's website.
That's exactly the issue with KDE. Like any good open source project, KDE reused code from other projects. That code was GPLed. The original authors specifically chose to use the GPL, and that specifically excludes Qt. (though perhaps the system library clause of the GPL allows Qt, but that's a different issue)
Now, to make KDE legal they have to relicense their programs where they used the GPL (there is a push for Artistic licensing in KDE apps) or add an exception to the GPL. To add an exception to someone else's licensing requires the person's permission. To become legal, KDE has to get the permission of a lot of people. It's not an insignificant issue.
The thing is, Motif was never a very viable development tool for free software developers. You have to statically link, people on non-proprietary Unicen usually don't have the development libraries, etc. So, people could look the other way because there was never any real danger of it starting a trend.
Qt is viable. That it is Open Source isn't terribly meaningful, because the GPL doesn't mention Open Source in any way -- and it shouldn't, because the Open Source Definition is hardly a legally robust document.
But I've almost never seen any real information on it -- probably because of the proprietary thing. Do you know of any good resources/papers/descriptions of AS/400 on the web?
Normally, you get persistance by doing
FILE *myfile;
myfile=open("somefile.txt", "w");
put(myinfo, myfile);
And, of course put is some complicated procedure that converts any information into a string, and God help you if you have pointers in that data. Persistance here is not independant of other issues, but is deeply involved with the internals of your code.
With orthogonal persistance you simply create an object (i.e., a bit of data) and it is persistant -- it exists until destroyed, not until the process is killed, not until the computer is rebooted, until you actually get rid of it (garbage collection and other language constructs can make the destruction easy). More importantly, if you have a pointer to an object you don't have to worry about it just disapearing out from under you, or making a local copy that your process controls, or whatever.
Most of the other things people are doing are boring at best. SMP? Anything but new -- so you stick a few more processors in a box. Security? Capabilities are definately the right way to do stuff (EROS uses them), but they don't change computers that much. They just fine tune and generalize security, and would allow information to be more easily shared -- plus getting rid of all the dumb sandbox efforts -- but they wouldn't change what computing meant.
Microkernels were only really important on the implementation side, even if they were to have succeded. Distributed computing is still a long way off in any meaningful manner -- resource farms aren't too interesting. I can't think of much really exciting... maybe OO, CORBA, and the like have some interesting possibilities in extending the basic infrastructure on a computer.
Orthogonal persistance doesn't seem all that interesting -- persistance already exists, after all, but you just have to explicitly save (in an app), or open a file (from code). But when persistance comes for free everything is just so much easier -- and making it easier to program stuff really is important. Objects become something tangible, not attached to a process or a session. If you added OS-level garbage collection then you'd have something really powerful. Objects would finally subsume processes and algorithms and the computer would be an environment instead of a machine.
My head is in the clouds at the moment, excuse me. Anyway, if you feel like reading other clouded thoughts on OS design (none of it by me), you might be interested in the all-talk TUNES OS. Less code makes room for more talk! But you got to give them credit, at least they don't pretend to be anything but what they are :)
But if they could do something like that -- not just for Java, but other environments that do better with dynamic compiling (like polymorphic OO systems, e.g. Smalltalk, Common Lisp) -- that would mean a real revolution in programming. The advantages of C for anything other than systems programming would be greatly diminished.
Of course, if the translation is all hardcoded, that's unlikely to be very helpful for higher-level languages. And maybe the translation assumes some sort of commonality -- registers and the sort -- that most processors share, but wouldn't be shared by most sorts of bytecodes. This reminds me of what Linus was talking about in his article on the portability of Linux.
And I'm really not sure on what the reliability of refurbished computers is. You can get homogeneous sets of refurbished computers (assuming you're not working with donations). Even if they aren't quite as reliable as a Sun Ray, the magic of network computers is that they don't have to be. They are cheap and easy to replace. So if you lose two 486s a year -- instead of probably zero Sun Rays -- you're not worse off. Without hard drives, the failure rate is much lower.
Even if you don't get refurbished computers, you can by cheap new PCs for the same as Sun Rays, and treat them like network computers. Except, even better, you don't need to have application servers, because they'll be powerful enough to do that themselves.
The application servers don't make administration any easier, as I can see. Diskless computers help a lot, and homogeneous computers help a lot. The only reason for moving actual code execution off the local computer is economic -- and I don't think that the current economics of computers support that.
www.seul.org/edu
Right now there's something like this being done at the Corbett school in Tucson Arizona. The link won't show you much other than some drawing by the students, but there's a short description in an email. It's a work in progress, done mostly by volunteers.
Really, it all comes down to making a bunch of cheap X terminals and some application servers. The X terminals can be much cheaper than $400 (refurbished 486's work well enough). Though they are hard to maintain, it's even possible with donated equipment (which, while plentiful for schools, tends to be otherwise useless). There has been a lot of discussion about this on the SEUL-edu mailing list (interested people are invited to join).
Maintenance issues as a whole are very important in schools, with public labs, occasionally malicious users, and a lack of knowlegable admins. The lack of security on Windows and Macs make them totally inappropriate for classroom use, but somehow most schools don't seem to appreciate this. As a result, school computers tend to be finicky and inflexible, and take up as much time doing dumb technical stuff as they do helping children learn.
The alternative is the laptop schools, which is to me a Very Bad Idea. But at least the computers trully are personal -- and if the kid messes up their computer, they've messed up their computer. But there's so many minuses to laptops...
Of course the Riverdale school has been using Linux for a long time on the server side, but recently there's been a lot more activity on the client side as well. I think Linux can do most of what most schools want to do right now, which doesn't make it perfect at all, but perfection is not a serious option to many schools -- or even half-way decent (I'm sorry to say).
Learnux is a Canadian volunteer effort to recycle old computers into useful Linux computers.
Are there any ideas from other such environments that you think are really neat? Any ideas that you would like to be part of Gnome, or even plan to try yourself?