I'm pretty sure that a few more people hate me now than did before I started this series so I'm gonna see if I can get back to par with a short article on what I like about Linux.
Rather than taking the easy way out and talking about the ideals behind linux -- saying that I think linux is good because it offers users a choice and promotes software freedom -- I'm actually going to talk about specific features of the software that appeal to me. It's not a long list, but I think it's an important list.
The first think I like about Linux is that it's a programmer's friend. When I joined the Mozilla project I was using Windows and Mac and getting set up to build Mozilla on Windows or Mac was a total pain in the ass. It took me the better part of an afternoon every time I set up a new development environment on Windows. On Linux it takes me about 45 seconds. Linux will and should continue to be a developer's platform.
The second thing I like about Linux is that it's pretty stable and I can't think of a time when I though "I'll reboot and see if that fixes it." With Windows (and yes, Mac too) I find myself rebooting a lot more frequently.
Finally, I like the user/security model that can help keep Regular People from screwing up their system too bad.
I'm sure there are a lot of other smaller issues that I appreciate too, but these are the big ones and I think they make it a very compelling platform for lots of people. Right now, I don't think that includes "Regular People" but I also don't think that making it work for Regular People would be an enormous task. As a matter of fact, I think it could be done by addressing four basic issues :-)
Posted by asa at August 2, 2005 11:32 AM | TrackBackIncomplete edit?
"Linux will and should"(....?)
Yes... wondering the same thing... check for typos and all that!
Posted by: Jason on August 2, 2005 01:07 PM"Finally, I like the user/security model that can help keep Regular People from screwing up their system too bad."
One thing you may not realize is that it's just as easy to write a virus or spyware for unix as it is for windows. You know those ksu, or gnome SU boxes asking for the root pass?
You can just as easily bring up a ksu or pam auth box yourself and ask for the pass, then everything outside of /home/user, including config files, and even the kernel in /boot is now totally screwed. With the root pass, you can authorize and relaunch the application with a new flag as uid 0.
There were several times when firefox allowed NSAPI to open a file system object from the web ON LINUX, in which case if the browser was run as root, that would expose the system to a low level wipeout or deep trojan attack. Even a spyware run as the user through an unsuspecting binary application could enumerate the x windows XQueryTree() and grab text info right out of the windows ala a MS Windows TM proc hook exploit with a different implementation.
ClamAV is a great free AV for linux, but it mostly catches windows viruses on sendmail, ect...
If you bring a huge influx of people in to use Desktop linux too fast, there will be a horrible consequence, in that those guys in Russia and China will see a huge benefit in now MAKING linux spyware, and viruses. Right now they have no motivation, and THIS, not chmod file permission security, which also exists on NT is the reason linux is so neat and squeeky clean.
On the other hand if linux is allowed to grow naturally, unlike windows95/98, these problems can be handled as they come.
The lack of a registry, and having user settings mandatorily in their writable /home dir really helps, but a newbie would probably think that any ksu/gsu passbox is legit or they'll think it's part of keyring or something.
There are a million opportunities for malware to exist on linux as well as windows. What keeps linux so beautiful is that it's not worth it for those people and companies, like oh say claria, with adware, and black hats with viruses and spyware, to target the platform.
When the motivation is there, it will mean not only will linux be an uglier place, it will mean there will also be the mandatory influx of norton utilities for the desktop and other companies selling their binary only wares for profits.
It will essentially turn linux into the mess that windows arguably is today if it grows too fast. And thus I think that what's happening now is good, with the steady rate of growth.
So my point is, what keeps linux and mac both safer than windows, is the fact that much less people use these systems and the reward for making malware is slim to none. Change that, and there will be huge problems and people will need to buy lots of software to keep linux safe as they do with windows today.
Posted by: Beer on August 2, 2005 01:50 PMBeer, you'll always have NetBSD or FreeBSD or QNX or whatever, to fall back on, if you lose Linux :) On the other hand, Linux seems to be best poised to take on the scourge called Microsoft -- I'm hoping you'll be happy to make the sacrifice (of letting go of Linux) for the rest of the humanity's sake :)
Posted by: Solster on August 2, 2005 04:26 PM"Linux seems to be best poised to take on the scourge called Microsoft"
I actually disagree on this one, I think the scourge called "Steve Jobs" and his publicly held company is actually best poised to take on the scourge called "Microsoft".
I read a chunk of iCon, and it's pretty telling. At any rate, we'll see what happens with those low cost x86 machines they roll out.
Linux can stand on the sidelines throwing tomatos at both parties.
BTW, I just bought a nero license today. K3B is nice, but I like nero.
http://ww2.nero.com/enu/onlineshop.html
$19 for lin, $80 for win ;) LOL
Commercial linux apps aren't all that bad. Nero even uses RPM to distribute. Installed it with a single click, no problem!
Posted by: Beer on August 2, 2005 04:40 PMOne thing that I like about Linux is that it's easy to customize and make it personal. For examply, the possibiliies of rearranging the desktop panels are almost limitless, save for the various UI quirks like having some of the applets transparent and some opaque. This will, appearantly, improve in Gnome 2.12. There's also the possibility to change the keyboard shortcuts for system commands like closing a window. In Windows, it's always Alt+F4, but in Linux, you can change it to any shortcut you want. For tweakers like myself, Linux offers much more flexibility than Windows.
Benefits for Real People? I guess it being free has some value. That is, free as in beer _and_ free as in speech. ;)
Posted by: David Tenser on August 2, 2005 04:57 PMBeer: Would've loved to agree with you, except that Jobs would rather live satisfied distorting his cult-followers' (no offense intended ;-)) perception of reality with his 'field', rather than make any attempt to change the reality (here, windows-scape) with his own private empire he likes to stay ensconced in...
Posted by: solster on August 2, 2005 05:40 PMBeer; Whilst there is no Linux virus solution atm (No doubt if the need arises there will be plenty of corporations after your money...), it still has a better security model, Especially using SELinux. Once that is fully matured (I ran into an issue on Fedora Core 4, which was fixed in an update, but I had to disable SElinux to allow the update to proceed...There was probably a better solution, but this was the simplest.)
The fact that most software is installed via repositories will also help control the Spyware scene.
Coming soon in Fedora (hopefully) is that by right clicking an rpm, it will be installed via yum instead of by rpm directly, thus any needed files should be automagically installed!
Currently there is only one ap that binds me to windows: Dreamweaver. Its does not have any viable alternatives atm (for me).
Posted by: Naheem on August 2, 2005 05:59 PMNaheem, SELinux breaks applications. I'm not talking about a strict policy either, I'm talking targeted.
I'll give 2 specific examples.
I needed to mod a php program that had a couple ioncube encoded files in it and I needed the ioncube loader. My targeted policy on httpd didn't allow the library functions ioncube used, so apache would fail to load the module.
It took a while to figure out that it was actually SELinux preventing the binary from being loaded into the apache process, and it was a TOTAL PAIN.
Next, I was beta testing Real Basic Linux from day 1, and lots of people, then using FC3, including myself at first had problems with the default targeted SELinux policy, in that the RealBasic IDE proc was mysteriously getting killed for no good reason. The offender? SELinux.
SELinux is not only unperfect, it's not a good solution for the desktop at all in my opinion. It's ok for web servers.
http://www.coker.com.au/selinux/play.html
Here Russel Coker from Redhat has an open SSH to root on an SELinux machine and the first time I logged on, I had the SSH down for well over an hour's time. SELinux doesn't prevent resource draining attacks, IE DOS.
"The fact that most software is installed via repositories will also help control the Spyware scene."
Yes, but alot of software will just not make it onto repositories, what about my sourceforge software? Nobody from dag or freshrpms put it up yet, so I have rpms, on the source forge project site. RPM's a better install format even outside of repositories. Commercial software as well, the nero software, and igloo ftp are good examples on how RPM's as commercial software can work very well.
"Coming soon in Fedora (hopefully) is that by right clicking an rpm, it will be installed via yum instead of by rpm directly, thus any needed files should be automagically installed!"
As long as you have the repo's with the dependacies in your /etc/yum.repos.d
I think the way nrpms did it was nice. They have an RPM that installs the yum repository file in /etc/yum.repos.d
I'd like to see all repositories have an RPM that makes it that easy to add.
"Dreamweaver. Its does not have any viable alternatives atm (for me)."
http://www.codeweavers.com/compatibility/browse/name?app_id=14
"Dreamweaver MX been certified silver by Macromedia"
Macromedia certified Dreamweaver MX on Crossover's wine package. Silver is pretty good. I've run some silver apps that weren't 100% though. Still you could try and see if it works out for you.
Posted by: Beer on August 2, 2005 06:20 PMFor those of you above asking about "Linux will and should continue to be a developer's platform" being a typo, I can assure you it isn't.
Asa, if I'm dead wrong about this, sorry, just covering your butt (and besides, linguistics is fun!)
This phenomenon is what's called ellipsis. It happens in English and lots of other languages when you're adjacently presenting identical information. Asa's sentence there can be expanded without ellipsis to read:
"Linux will contine to be a developer's platform and should continue to be a developer's platform."
This, however, is inefficient, redundant, and very awkward-sounding. The first (continue to be a developer's platform) is elided because of its redundancy, and the reader is left to fill in the rest.
This is similar to what happens in the sentence "John likes cake and Mary likes cake", which is often expressed as "John and Mary like cake."
My guess as to people's criticism of that sentence is due to where the ellipsis occurs syntactically -- in this case, eliding an entire verb phrase and leaving behind a modal. Perhaps these people would be more comfortable with "Linux will continue and should continue to be a developer's platform"?
Sorry for the off-topic, but it's interesting anyway :) And I do think Asa's original sentence is fine as-is.
Posted by: Chuck on August 2, 2005 06:49 PM@David Tenser: I like customization like the next geek, but tell me why would you like to, for example, change Alt+F4?
Posted by: kwanbis on August 2, 2005 08:30 PMChuck: we understand the current sentence just fine. The original posting (as far as I read it, and several others read it) actually cut the sentence off after the words "Linux will and should". So thanks for the explanation, but it's mistargeted :)
Posted by: Peter Kasting on August 2, 2005 10:48 PM"Linux will and should continue to be a developer's platform."
Peter, I also think that this statement is pretty clear, but I would broaden it to unix in general, not just linux.
When windows ships with perl, python, ruby, a good C/C++ compiler collection suite, and a decent shell scripting language, IE, not vbscript, then maybe they'll have something to say to retort that.
Everything in windows is an addon, and costly at that. All the tools and IDE's you need to develop on linux are free. The libraries are free.
Windows development with a comparative MSDN universal subscription is for the dogs.
Here's how it goes for Win devs, and I should know, I have 10 years of visual studio boxes to boot collecting dust;
Microsoft shafts you once when you buy the OS, they shaft you again with the development studio, then they shaft you with code signing certs, who's equivalent gpg's are free, then they shaft you with huge costs to attend PDC and their conferences.
No wonder Bill Gates is so rich, he makes people pay for the gratuity of being in his knightly presense.
If "regular people" could manage that, we wouldn't have world hunger or alot of other problems that plague humanity.
Posted by: Beer on August 2, 2005 11:37 PMI don't think SELinux is inherently a bad solution. I do think that using SELinux is far more complicated than it should be. Red Hat has done a good job of gui-fying some of the more useful options for Fedora Core, but SELinux in general is in desperate need of easier-to-use config.
Yes, I've run into the "why the %$#@! isn't this working!?!?!" problem a few times. Now I know to check the audit logs if something fails and doesn't make sense. Fortunately, the targeted policy has gotten more, well, targeted over time, and Fedora's config tool, while still till limited, has also improved vastly since FC2.
Posted by: Kelson on August 2, 2005 11:49 PMKelson,
are you talking about system-config-securitylevel ???
That thing is a joke. That's one thing that makes SuSE's YaST look so much better.
The best thing to do on the desktop is turn SELinux off I think.
Most people will never know which API is good and which isn't and SELinux does not warn users, it simply kills the process as soon as a call to the blacklisted library functions is detected.
That's fine for server admins, but not some kid who wants to play unreal tournament 2004 online on his fedora box.
Filtering API is a bad idea for the desktop. Not warning people about why their app failed is worse. For a server admin, that's nothing, sure, you can check dmesg, and the logs. But for the desktop.....
I dunno.
You get apps like real basic linux and others, yes others, getting tons of complaints for no reason, when SELinux is the culprit.
SELinux, fine for sysadmins, bad for desktop users.
Posted by: Beer on August 3, 2005 12:14 AMkwnbis, I'd never change that shortcut. It was a bad example. However, I do change the "switch to virtual desktop x" shortcuts to utilize the Win key, since it's mostly unused in Linux.
Posted by: David Tenser on August 3, 2005 02:29 AMAsa, I'd like to hear your opinion about Wine/Windows Compatibility. In addition to your excellent observations, I think for almost every user there is one program that would keep him/her from migrating. A webdeveloper needs IE. A website editor also needs it because there are a lot of crappy (old) non-Mozilla CMS-systems out there. Photoshop is a candidate of course (Gimp is nice, needs some extra usability&less-is-more, but it won't replace Photoshop for a professional). Someone else can't live without Dreamweaver MX, one of the Office apps, Google Earth, CoolEdit, some inhouse-enterprise-app, etc. I think a Well Working Wine is important in making the move, don't you?
Posted by: wouter on August 3, 2005 03:06 AMWouter, wouldn't it be more imortant to have the Linux community develop apps that are more user friendy insted of making Linux the perfect Windows emulation platform? The fact that is Linux is defenately a good development platform has as downside that interfaces aren't that noob friendly. These apps (like the GIMP) should be easier to use and not to be replaced by a commercial and closed version running in an emulted environment. Linux will be a better aalternative the moment more companies start porting their apps. Not when Linux becomes the ultimate Windows emulator/Windows API runner.
Posted by: Bootstrap on August 3, 2005 04:38 AMBeer,
What I'm trying to get at is that I don't think the problems with SELinux are inherent in the design, but in the implementation. Configuration is complicated unless you use a crappy, insufficient config tool, notification is limited, and the targeted policy sometimes blocks things it should allow -- NOW.
If someone writes a decent config tool, if people continue to refine the policies shipped with the OS, if someone sets up a GUI notice for audit failures -- what then?
Maybe it'll take until Fedora Core 10 and SuSE 13 (or, more likely, Novell Linux 2008 -- everyone seems to jump ship on version numbers when they hit double digits) before SELinux is suitable for Regular User Linux. But I don't think it's unsuitable in and of itself.
Posted by: Kelson on August 3, 2005 10:00 AMwouter, the future is .NET and MSIL, CLI complaint compiled applications.
Mono 2.0 will have winforms support, and it will instantly unlock a litany of windows applications that will suddenly work flawlessly on linux.
I was talking to the Novell guys at linux world canada and they said they ran the winforms SDK across win, mac and linux with their winforms test suite and it passed all the tests. This was actually months ago, so by early next year, I wouldn't doubt if compatibility is 100%.
Microsoft is doing everything but kicking people in the behind to get them to write .NET managed winforms apps, so in the near future we may not need wine to run the latest dreamweaver, photoshop or other application.
Of course we'll need wine to run IE6 or IE7 because Microsoft won't use .NET themselves on their own software, which is pretty ironic.
Posted by: Beer on August 3, 2005 11:06 AM
Ninety percent of the people posting here have no idea what they are talking about or how Linux works... they think they are techies... in reality they are just idiots with big mouths. So I wish to make some things clear...
* Linux is a kernel operating system and many modular drivers and elements. It doesn't include any extra programs or even a desktop environment.
* GNU/Linux is the Linux kernel with additional GNU programs and other 3rd party programs... like the K Desktop Environment.
* If you want the "user interface" to look cuter... tell that to the KDE people... not the Linux people.
Many people believe that the GNU/Linux operating system and applications should emulate the behavior of inferior operating systems for the sole purpose of a gaining a userbase of converts. However, this statement is completely ludicrous. The GNU/Linux operating system has a different goal than other operating systems. Unlike other operating systems, GNU/Linux is not a corporate entity (think of it as a hobby). It also currently has a different, smaller, and more supportive userbase that the operating system would dare not abandon.
The GNU/Linux operating system has no use for people like grandmothers, techie-wannabes, (Asa Dotzler), and people who would rather have GNU/Linux emulate other operating systems. GNU/Linux doesn't need to expand its userbase because it has no threat of extinction if it doesn't expand. But small and silly programs like Firefox need to compete to gain a userbase... otherwise they would run into disuse.
Idiots constantly propagate the fallacy that GNU/Linux is fighting a holy war against some other operating system. In truth GNU/Linux is a high-end operating system for servers and computer people, who would rather think about improving their beloved GNU/Linux than try to get more converted jihadists to join their ranks.
Posted by: Shashir Reddy on August 3, 2005 04:56 PMShashir, that was true back in 95, but not any more. IBM, Novell, Redhat, Connectix, Mandrake, and some big name corporations are now the ones funding many of these projects and their lead contributers.
Linus isn't at university anymore hacking away on a minix distribution in a dorm room.
Go to linux world, you will quickly realize that linux is BIG business in 2005.
As for FSF/GNU and Richard M Stallman, that is a whole story altogether. GNU tools are not linux and linux is not GNU. GNU tools including the compiler collection work on almost every form of UNIX including Solaris and Microsoft's SFU interix.
The "Linux" Asa was refering to is the free and or commercial open source product put forth by Novell, Redhat, IBM, ect....
The reason people call these distros linux and not GNU/Linux as Bruce Perens would obviously clearly like is because GNU tools are generic to many platforms while Linux is the actual operating system, that loads programs and manages their processes. Linux is the OS. GNU are tools commonly found on linux.
Firefox is also commonly found on linux, but we don't call it Mozilla/Linux.
Granted without GCC linux would not exist, but it is still only a program running on the OS.
Can you ignore the commercialism of Linux? You could back 10+ years ago. You can't today. "Linux" refers to major distributions using the linux kernel here, and also implies an open source system.
Getting all up in your face technical proves nothing, and drains the focus of the convo, which was "are linux(distributions) ready for the desktop"
The answer obviously being disputable, though I would argue that SuSE93 is definately there.
you could make a scant argument that glibc is absolutely essential since most all programs that run on linux are linked against it and not against the syscalls directly, though alot are linked against the kernel headers too!
Still, you could just as easily provide another libc and go happily on your way with non GNU driven linux. Not that I would rewrite a c or c++ runtime seeing how they're free.
Posted by: Beer on August 3, 2005 07:41 PMWhat I don't get is why people like Sharnash refuse to let some distro's do what they want. With the many distro's people are free to product one that is easier for people coming from Windows to adopt. What is wrong with that? Many strong Linux supporters came from Windows. Shutting the door to Windows, saying Linux is different and not for gradma's, is ridiculous. Many distro's are very user friendly and easy to use, infact even easier than Windows. That is something to be proud of, and promote, to the users whom would use and benefit from that.
Some may work they way up the Linux ranks in terms of complexities, some may not. It's not a darn competition, no one is taking Linux away, no one owns it, and it isn't black, or white, its a murky grey. Stop trying to state otherwise as if it's your OS and property. Its not.
Posted by: Kris Silver on August 4, 2005 10:33 AMI agree with Kris, but I still disagree with Asa.
Linux CAN be anything you want, it's just a kernel. You can use it stand alone with your own libc, and support libraries, you could mod it and make it the centerpiece of a windows style filesystem if you wanted to.
You can use it embedded, in ucLinux, or do whatever you want with it. And it's always free.
That's what's so great about it.
Asa was specifically talking about major linux distributions though, and I think SuSE93 is perfectly fine for newbies because of YaST.
Once Fedora has the yum GUI and or better GUI config tools, it may be super for newbies too. YaST autoconfigs so much and keeps it's files seperate from /etc/*, so it stands out as a clutz proof linux. It doesn't really change Gnome too much aside from menus though. Gnome 3 I think will be awesome with built in compositing ect...
Even in the next gnome release, they've fixed the menu editing problem and the clipboard problem where data is flushed when a process is terminated, so that's alot to look forward to. Not barring mono and everything it brings.
"Rather than taking the easy way out and talking about the ideals behind linux -- saying that I think linux is good because it offers users a choice and promotes software freedom -- I'm actually going to talk about specific features of the software that appeal to me. It's not a long list, but I think it's an important list."
This is just more of the same diluted Open Source propaganda that currently threatens the Free Software Movement. What makes you think that talking about ideals is easy? People need to hear about the ideals that are responsible for the GPL. After all, the reason you can enjoy "Linux" is because of the GPL and the community that supports it.
Another thing I find difficult to swallow is your constant labeling of these "Regular People". This is nothing but FUD. These "regulars" can probably speak, read, ask questions, explore, and learn. Therefore, we need to stop isolating them by spreading the idea that they're too stupid or lazy to use their computers effectively. Please get off your high horse already with this!
"This is just more of the same diluted Open Source propaganda that currently threatens the Free Software Movement."
Free software is a tricky subject. If you have corporate funding, it's no big thing. If you are a small ISV, it's another. Are you going to work on something that will pay your bills or take loads of time away for FOSS?
FSF, Gnome, Linus, ect... Have no problem because of the funding they get. Brian Behlandorf has no problems. A small sourceforge project on the other hand will not get any funding.
It's just a fact of life that those who aren't on IBM, Novell, Sun, ect..'s meal ticket are not going to be able to sit there all day and make FOSS, no matter how much they'd like to, lest live in a box under an underpass and work out of a laptop over a barrel fire to keep warm.
GPL software can be very easy to sell as a solution for IBM, Novell, Sun, ect.. but when you're an ISV, and you have the free compilable source download right next to the binary download, it can be awefully hard to sell a product. Especially if you can't box it and put it in stores.
I pay for cedega, Novell linux, Mandriva linux, I pay for nero linux, and other products. I also paid for a subscription to Free Software Magazine, which ultimately made so little money because of the lack of coverage of commercial products, that it had to go back to PDF format, as it no longer had money to run prints.
GPL and FOSS is fine for linux, but it can't be the only type of software on the platform. Linus happened to choose GPL as the license, and the FSF folks happened to choose linux to port their tools to. The GNU bin tools work on MANY other platforms, almost too many to name.
IglooFTP, nero linux, maya, Unreal Tournament 2004, Cedega, Crossover office, Ensim, CPanel, Plesk, commercial linux distributions, ect...
All of these are costly, but essential to the growth of linux. Nobody can afford to make GPL only software unless they have huge cash from corporations on their donation ticket.
Mozilla just dumped it's NPO status so it could take more money from Google.com.
Without money you simply can't sit there and develop software unless you're independantly wealthy.
Alot of sourceforge projects will get half completed and just sit there forever, because the person got a job or had to work on something to pay bills.
That's just a fact of life. I appreciate all of the corporate funded GPL stuff, but I also realize that most developers will never be able to develop great software under GPL, because most developers don't have corporate sponsors. Some do and that's great.
But that is a major break in GPL, small ISV's that simply can't afford it.
Posted by: Beer on August 5, 2005 02:00 PM