Slashdot Log In
FreeBSD Vows to Compete with Desktop Linux
Posted by
Zonk
on Sat May 13, 2006 08:19 AM
from the moving-on-up dept.
from the moving-on-up dept.
AlanS2002 writes "FreeBSD developer Scott Long is being reported as saying that FreeBSD is quickly approaching feature parity with Linux. Apparently this is being achieved through efforts to more tightly integrate GNOME with FreeBSD, with one of the priorities being to 'GNOME's hardware abstraction layer--which handles hardware-specific code--working with FreeBSD'."
This discussion has been archived.
No new comments can be posted.
FreeBSD Vows to Compete with Desktop Linux
|
Log In/Create an Account
| Top
| 370 comments
| Search Discussion
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Did they alreay win? (Score:1, Interesting)
(http://tsfraser.googlepages.com/index.html)
OS X core (darwin) is based off of FreeBSD. Or they are trying to beat linux by doing it the way that linux is trying to win, by focusing on technology that isn't that important to standard desktop users. getting most of the development effort in useless eye-candy and only minimum development in important features for desktop users like easy hardware detection for a wide variety of hardware, Brainless software installation, excellent wireless support...
Re:Did they alreay win? (Score:5, Interesting)
I don't know what Linux distributions you've been using recently but I have recently installed Fedora Core 5 on my laptop and my experience was the opposite: that they must have been primarily focused on important features for desktop users. FC5 supported suspend and resuming my laptop, where FC4 didn't. FC5 supported my Centrino wireless with autodetection and configuration for both open access and WEP and WPA PSK protected networks right from the GNOME Desktop. FC5 automatically detected my USB-attached smart UPS on my desktop at work and can report the remaining run-time. It was the least-hassle desktop Linux install I've done yet.
As far as software installation, I don't use it but you can go to Applications->Add/Remove software and graphically browse thousands of software packages that are a click and a download away from being installed.
Re:Did they alreay win? (Score:5, Insightful)
Can you point out the study or survey which shows that most Linux devs spend their time on useless eye-candy? Because I don't think that is the case.
Re:Did they alreay win? (Score:5, Insightful)
(http://soapbox.bartsplace.net/)
History shows that the 'always' part in there is seriously wrong..
BSD gets a driver, linux will have in after a quick port.
Linux gets a driver, BSD has to wait and re-impliment.
That is how it seems to a person who has absolutely no idea about kernels and drivers and the different BSD distributions.
First, there are quite a few BSD variations all with their own set of rules for integrating drivers, where some see no problem in using gpl code, others see no problem in using closed source drivers in cases, and yet others swear that everything must be free and open.
Second, differences between a BSD style kernel and the linux kernel are substantial enough that a 'quick port' is seldom an option for technical reasons alone.
Re:Did they alreay win? (Score:5, Informative)
OS X, back when it was called NEXTSTEP, forked off of BSD 8 years before FreeBSD did, even before 4.4lite came on the scene. You can trace its lineage yourself, if you'd like. [levenez.com] Since then, there's been a lot of code borrowing but everyone borrows from FreeBSD and FreeBSD is far from the only OS whose code Darwin has borrowed. Using just that to say that Darwin is based on FreeBSD would make little more sense than using the same fact to claim that GNU/Linux and Windows XP are based on FreeBSD.
But as to your point about BSD in general beating Linux to the desktop with OS X, yeah, you're right. I think Apple showed how it really needs to be done, too. In my experience with trying to teach people to use Linux, the thing that consistently hurts Linux on the desktop is what I'd call its unixyness - stuff like complicated directory hierarchies based on abbreviated names only serves to intimidate the non-geek; even if you tell them they don't need to care about anything outside their home directory, they still know it's there. A lot of Linux's celebrated choices are bad; too. The moment a user ever has to care about QT vs GTK+ and figure out why they are behaving a bit differently, or what the heck CUPS is, or any of that, Linux starts to feel like a border town on the edge of the Wild.
Re:Did they alreay win? (Score:5, Informative)
(http://soapbox.bartsplace.net/)
Referenced from the site you mention yourself is the BSD family tree [tribug.org].
If you had bothered to look at it, you'd have noticed that:
Darwin is based on Rhapsody, NetBSD 1.4 and FreeBSD 3.2
OS X 10.2 imported code from FreeBSD 4.4
OS X 10.3 imported code from FreeBSD 5.1
If you had ever bothered to use a FreeBSD 5.x machine for a while, and used a machine with OS X for a while from the shell, you'd have noticed how the userland is virtually identical, to a level way beyond how some linux distributions are similar..
Where OS X really did not derive from FreeBSD at all is at the kernel level and of course the gui.
Re:Did they alreay win? (Score:4, Insightful)
(http://plan99.net/~mike/)
They don't behave differently. At least, the differences are no worse than on the Mac or Windows where apps frequently reinvent the standard toolkit (*cough*Aperture).
or what the heck CUPS is
The only time a Linux user would have to care about this is if their printer isn't supported. And most are (albiet with varying degrees of driver quality).
What about KDE? (Score:1, Interesting)
Re:What about KDE? (Score:5, Informative)
(http://carewolf.com/)
didnt they have a completely goal? (Score:5, Interesting)
Re:didnt they have a completely goal? (Score:5, Insightful)
Re:didnt they have a completely goal? (Score:5, Informative)
(http://soapbox.bartsplace.net/)
X and a desktop environment matter the most for sure.. but I think you are quite seriously underestimating the role of a kernel in this..
The kernel is involved in things hardware support, device and power management (suspend) etc, but what really matters is gnome and kde, nothing else. Gnome is not more usable under freebsd than in linux, neither the reverse.
You see.. audio/video support sortof matters for desktop use.. so does plug and play hardware support (just plugin that camera and it works..), which are indeed hardware related but specifically, usb, drm/dri and sound support are extremely important for a desktop.
Then, the scheduler can make quite a difference (optimized for throiughput versus responsiveness for example makes a big difference in how 'snappy' your desktop feels)
Then, if you open a folder in say the kde or gnome file/directory browsers, there are 3 things you desktop can do:
1. not notice changes to the directory untill you manually refresh the view
2. poll the filesystem for changes and display them once they got noticed
3. ask the kernel to send a notification when a file changes
1. is no longer an acceptable option nowadays
2. becomes very expensive when you have a lot of files in said directory, and it is always 'too late'
3. requires kernel support (it is supported in slightly different ways in Linux and FreeBSD now) but is low overhead and virtually inmediate.
As you can see, the kernel does in fact play an important role in simple things like browsing a directory already...
So, yes, it does definitely matter for both gnome and kde what kernel they are running on. A year ago the difference between Linux and FreeBSD was substantial, esp. with regards to the scheduler and support for things like fam (without having to poll for changes).. nowadays the difference is far less big.
Re:didnt they have a completely goal? (Score:4, Insightful)
Because security and reliability aren't sexy. They don't gain you new users like features do. Same reason Microsoft keeps adding features to Windows rather than fixing security problems, and keeps adding features to Word instead of making the interface better so the features it has become more useful.
This isn't about the FreeBSD base system. (Score:5, Informative)
(http://www.daemonology.net/)
Re:This isn't about the FreeBSD base system. (Score:5, Insightful)
(http://janneinosaka.blogspot.com/)
The obvious problem for large projects like GNOME is of course that they need to make a good experience on a pretty wide variety of platforms. To use any platform-specific feature it will need to be either emulated, replicated, worked around or otherwise made available on all platforms; or it could only go in as an optional extra that nothing else is actually depending on. So, making advanced FS logging capabilities a cornerstone of the desktop, for example, would be out since far from all platforms will have the requisite framework. "You can only run desktop X if you also use filesystem Y" is likely to go over like a lead balloon.
Fortunately, good ideas in the OS space tends to be picked up by everybody sooner or later. Over time there just aren't that many good ideas that will not be available everywhere as time goes on.
Compete for Market Share? (Score:5, Funny)
Forgive Me I May Know Not What I Do (Score:5, Interesting)
(http://slashdot.org/~Quirk/journal/ | Last Journal: Monday October 03 2005, @04:07PM)
In 1908, the Ford company released the Ford Model T [wikipedia.org]. The first Model Ts were built at the Piquette Manufacturing Plant. The company moved production to the much larger Highland Park Plant to keep up with the demand for the Model T, and by 1913 had developed all of the basic techniques of the assembly line and mass production. Ford introduced the world's first moving assembly line that year, which reduced chassis assembly time from 12½ hours in October to 2 hours, 40 minutes. However these innovations were not popular and turnover of workers was very high. Turnover meant delays and extra costs of training, and use of slow workers. In January 1914 solved the problem by doubling pay to $5 a day, cutting shifts from nine hours to an eight hour day, and instituting hiring practices that identified the best workers. Productivity soared and employee turnover plunged, as the cost per vehicle plummeted. Ford cut prices again and again and invented the system of franchised dealers who were loyal to his brand name.
By the end of 1913, Ford was producing 50% of all cars in the United States, and by 1918 half of all cars in the country were Model T's. Henry Ford is reported to have said that "any customer can have a car painted any color that he wants so long as it is black." This was because black paint was quickest to dry; earlier models had been available in a variety of colors. But most were black."
What the Model T was to the automobile DOS/Windows is to computer software. People faced with new technology that manages to takeoff tend to choice a brand that they gravitate toward in order to provide them with a base from which a general learning curve can be traced. As with the Model T, once a general concensus is arrived at as to what the new technology can do for the masses then competing models come into play and bells and whistles are taken in hand after the basics have been learnt. The computer industry has achieved a saturation level and the basics have been put in place. Now there is a chance for more competition. It's likely that Linux on the desktop is coming soon.
That freeBSD has chosen to announce its competition with Linux is more supplemental support to show that the basics of the desktop have been put in place. Competition between Linux and freeBSD is great and will foster competition between F/OSS alternatives that will soon provide greater incentive for the general computer population to move from Windows to alternatives.
I suspect the initial gauge of this movement will be a greater market share taken by Apple.
Just my loose change
FreeBSD VS's GNU/Linux on the desktop (Score:3, Interesting)
This is a good thing. (Score:3, Insightful)
(http://decopter.sf.net/)
That's just BULLSHIT! (Score:1, Informative)
Re:That's just BULLSHIT! (Score:4, Interesting)
Name a studio using Linux in any meaningful way for audio recording.
That's it... (Score:1, Funny)
Yay! No more pinko software! (Score:1, Funny)
That poster I have of Richard Stallman puffing on a hand-rolled Havana with Che Guevara kinda tells it all...
You youngsters all go shoo now. Git! Git!
I wonder if the NRA uses BSD? Hmmmmm...
I don't understand! (Score:5, Funny)
(http://www.metapenguin.org/)
Major Problems from a FreeBSD User (Score:4, Interesting)
(http://www.brokenworld.org/)
Re:Major Problems from a FreeBSD User (Score:5, Informative)
From the FreeBSD web site:
The FreeBSD Foundation has negotiated a license with Sun Microsystems to distribute FreeBSD binaries for the Java Runtime Environment (JRE(TM)) and Java Development Kit (JDK(TM)).
Enjoy!
my checklist... (Score:2)
If it wants to run at the desktop market my suggestions would be:
a) Graphical setup
b) Better hardware autodetection (both during install and post install)
c) A GUI by default that is tight and looks good.
d) A more easy to use graphical interface into the ports system.
THat's a start, get those and we'll talk desktop.
Flamebait me if you will, but here I go... (Score:1)
(http://wirevox.com/ | Last Journal: Monday January 03 2005, @11:03AM)
That being said, my advice is to take this as a hint and forego dealing with Gnome. Besides, (here's the flamebait) Gnome pails in comparison in usability to KDE; never have I hated a software application as much as I have hated Windows, until I have had to use Evolution for my email client. It just does some of the stupidest things I can imagine.
Sub-Preface: Gnome, and its applications, have one saving grace: features not found it KDE applications; like proxy use for IM in GAIM and an Exchange plugin in Evolution. Come oooon KDE, get those features soon!
That said, if I choose a signiture from the drop down menu (which I have told the preferences multiple times to use a default sig but it doesn't care what I think - which is either a Fedora Core 4, Evolution, or Gnome problem), and if for some reason I wish to edit that signiture and happen to need to delete a letter, everything after the cursor gets deleted also. Ctrl-z fixes what delete should naturally do, but NOOOO Gnome can't make an application that works as expected.
GAIM is another nightmare. One of the worst things about is that if I 'signoff', which means from all IM channels, and 'signon' again it will only signon one channel and not all of them. What in the world kind of functionality is that? It sucks and I have come to believe Torvalds' "Use KDE" [osnews.com] rant; it is sadly accurate.
Hardware support? (Score:2)
(http://slashdot.org/)
How is the hardware support? Does it support the variety of devices that Linux supports? (honest question)
For a desktop (vs. a server) a wide variety of hardware support is important. Desktop users have a huge variety of hardware.
Whenever I hear talk of any other non-Linux OS, the hardware question is the first one that pops into my mind. Nevermind the micro/monolithic kernel debates, when someone proposes a different OS kernel, my first question is always: Hardware support?
Now just to really wander off topic: maybe something that would be of really long term benefit to FOSS is, not only a driver binary interface standard, but a driver binary interface standard that was designed to be supportable by existing and future OS kernels.
Laptops Laptops Laptops! (Score:3, Interesting)
What I would like to see is a small core list of laptop models that are essentially "certified" to work. Pick the most popular lines, get them working 100% then add more and more models without breaking support for the laptops that worked previously. Ubuntu in particular seems to have a shockgun whack-a-mole approach to supporting laptops and it's maddening.
GPL vs. BSD License (Score:3, Funny)
(http://montrealbands.net/schooner/ | Last Journal: Wednesday March 09 2005, @01:02PM)
No one wants this (Score:5, Insightful)
* 6.x came out shockingly fast after 5.x
* 4.x was orphaned correspondingly quickly (despite being arguably the only stable freebsd branch left)
* vinum (software raid) support, among other things, was broken thanks to the introduction of geom around 5.1, and gvinum is finally beginning to approach stability as of 6.1
* The new scheduler, ULE, was introduced in one 5.x release and then abandoned when it proved to be completely unstable.
* As a reaction, one of the lead developers forked dragonflybsd off of the last truly stable freebsd release, the 4.x branch. Others have just given up.
* Bugfixes are getting left on the floor in favor of adding features ( just look at a relatively old release such as freebsd 5.3's TODO list: http://www.freebsd.org/releases/5.3R/todo.html [freebsd.org] - note that most of these problems are *still* not fixed in 6.1 )
People choose the BSD's for stability - or at least, they used to. FreeBSD has been going down a features at all cost route in some kind of effort to play catchup with their perceived rival linux for some time. In doing so, it is losing what makes it unique, and it needs to stop, or else people will abandon FreeBSD for other BSDs, linux (which is now more stable IMO), and even mac os.
-DH
KSE was not implemented to design (Score:4, Insightful)
When I first proposed KSE, my proposal was that all system calls become asynchronous - you dispatch the system call. Then, if you wanted POSIX semantics, you suspended yourself until the result was available.
The intent was to implement all of the POSIX blocking semantics at the Libc layer, and all the operational semantics at the kernel layer, and to permit any number of dispatches to occur concurrently.
The way you implement multithreading in this environment is to use call-conversion scheduling: you trade a normally blocking system call for a non-blocking system call plus a context switch. This basically gets you multithreading for free.
The intent of this approach is to utilize your full process quantum, rather than giving it away and suffering an unnecessary context switch overhead, while you still had work pending that could be done in user space within the same process.
In one posting, I put it like this: "If a kernel gives me a quantum, it's *my* damn quantum, and I'll use as much of it as I can, and if I can't use any more,*then* I will yield to a voluntary context switch".
The way you obtain SMP scalability (which was *NOT* the original reason threads were invented in the first place, BTW, since they predated commercially viable SMP system by a long ways) is by permitting multiple processors to return to user space on completed async system calls.
Intelligent readers will not that by not giving away the quantum you were given, you basically get a form of CPU affinity thrown in for free, without any modification to the kernel scheduler, up to the point where you would context switch to a process other than yourself, and cache-bust/TLB-shootdown anyway. This was not a bad idea.
-
What happened instead was an implementation of SA (Scheduler Activations). They kept the KSE name. I came up with it initially - "Kernel Schedulable Entitites" - because I didn't want people to be thinking about solving the problems we intended to solve in a way that was constrained by the ideas that would carry over from using words like "activations" or "threads" or whatever. Semantic loading constrains free thought on technical issues a heck of a lot more than people give it credit for.
But SAs fell far short of my intended vision for the original implementation, a vision I could not implement on my own without buy in from the rest of the FreeBSD community.
-
Once we got buy-in that we were going to do *something* in this area, we had a big meeting. It was hosted at Whistle Communications, where Julian and I and others worked, and where we tended to host BAFUG meetings. Jason Evans and others attended.
I was unfortunately unable to sell my async call gate approach to the problem ("too many changes"), and a compromise was worked on scheduler activations, and a user space thread scheduler that would cooperate with the kernel scheduler.
Compared to what we ended up with, the changes required for the async call gates would have been a lot less code. But I fully admit: my suggested approach would have been impossible to implement incrementally - it would have been all or nothing, and stepping over that threshold would have cost a lot. I failed to sell it adequately, and can only fault myself.
-
Realize that this was not a bad compromise, given the technology at the time: context switches were murder, and crossing the user/kernel protection domain was a heck of a lot more expensive than it is on todays hardware. Also, the vast majority of SMP Intel boxes available in 1996/1997 were at best 2 processor boxes (I still have my dual P90 ASUS box).
Later, the expense of scheduler activations became plain, but it was still not too bad, until things like TLS - "Thread Local Storage" - and other POSIX semantics changes started to make things more painful.
-
Meanwhile, FreeBSD got thread reentrancy work done in its kernel, and a separation of address spaces and contexts, tha
Competition is great! (Score:2)
On a sidenote, what the end user sees is not Linux, FreeBSD, Ubuntu, Fedora or Windows for that matter. They see Luna, KDE and Gnome.
I heard KDE even runs on Windows. So when I tell someone I can install a new system on their computer I tell them it is either KDE or Gnome.
FreeBSD would be better on desktop, if only... (Score:3, Insightful)
* Mix multiple audio inputs to
* Have better Java and Flash support. Ever try to get native Java working on FreeBSD? First you have to download the Linux Java distribution, install it, then download the FBSD patchset for native Java, build and install it. This takes a day, even on my 2.4GHz, 768MB laptop. And Flash? Don't make me laugh. Flash support is attemptedly enabled via a wrapper, but the Flash version that is currently stable is 5. I'm running 7 on the Gentoo install I'm typing this on, and that's behind the Windows world's Flash version 8.
* Similar to the Java problem, too many apps in FBSD require Linux support. If I'm going to run a Linux app on FBSD, why not just run Linux? Moreover, if parallel FBSD and Linux binaries are necessary (as with Java), then this is going to be a monster waste of HDD space.
* Make compiling the kernel easier. Yes, configuring the kernel is doable by hand, but as any newbie programmer should be able to tell you, the more opportunity you have for human input, the more opportunity there is for failure. More typing/manual config means a higher probability that some piece of kernel functionality goes missing in the build. Why not an ncurses interface with basic (but I must emphasize, also imperfect) dependency resolution, like Linux has?
Look, I love FreeBSD and prefer it to Linux. Its overall design is more sophisticated, saner, and better-organized than Linux, and I find the ports system to be better-designed and more-useful than Gentoo's portage (where are the descriptions of each port in portage guys? I want to know if what I'm about to install is really what I want, and I don't want to have to go google it first!). All that, and FBSD exists under a free-as-in-freedom, rather than free-as-in-communism license. I've run it on my server for years, and with the huge, disappointing exception of the 5.[01] days, it's very stable (current uptime with 6.0-RELEASE is 159 days).
But over various times in the last 6 years, I have tried it as a desktop, and every time I have, there has always been some FBSD-specific behavior that has caused me to switch back to Windows or Linux. FBSD 6.0 is certainly the most usable desktop release yet, and it's thisclose to there for me. But still, not quite. (Frankly, I want an OSX box, and my next laptop will almost undoubtedly be a dual-core MacBook. Then I can have the best of all worlds: a FBSD userland, compatibility with most OSS *nix apps, and commercial-ware app availability. But until then...)
So, I'm happy with FBSD maintaining its role as a rock-solid server OS. Let's not assume everything is a nail when holding a hammer here...
I see a connection here: (Score:5, Funny)
20 Apr 2006 - Linus claims "that [...] FreeBSD [People] are incompetent idiots." [indiana.edu]
12 May 2006 - The FreeBSD folks announce a tightly integratin of GNOME with FreeBSD. [slashdot.org]*
* You didn't click that link, did you?
Installation (Score:1)
(http://alansplayground.spaces.live.com/)
Hmmm... (Score:2, Insightful)