|
Other OS Any other OS such as Microsoft Windows, BeOS, Plan9, Syllable, and whatnot. |
|
Thread Tools | Display Modes |
|
|
|||
Integrating GUI into the OS?
I see a lot of complaints about modern X desktops not supporting BSD or having broken BSD support by using Linux-isms etc.
The below is not so much a request-for-features, as a general direction in which I hope at least one of the BSDs go: > I would really wish BSD folks had and maintained their own full-featured X desktop environment which doesn't use Linuxisms and which is feature-rich enough to work similar to modern X desktops on Linux. i.e. compositing, managing peripheral devices with better desktop integration of features such as mounting and unmounting of devices, power management, network management etc. - all done in a cleaner BSDish way rather than hacking at Linux tools like console-kit, policykit, dbus etc. > I also wish that peripheral hardware support (e.g. usb webcams, scanners, fingerprint readers) etc. improves in BSD. I mean drivers coming out for BSDs as quickly as drivers are developed for the Linux kernel. > Also a larger collection of software that's written by BSD folk for the BSDs. You cannot forever expect Linux app developers to keep writing portable *nix code. Apart from the BSD userland, almost all the software used on BSD right now are PORTed apps from Linux userland, some of which work well, others which don't due to reliance on Linuxisms. I agree that a lot of this is due to lack of manpower, but I suspect it's also due to lack of interest in getting the BSDs on desktops. So as much as I'd like to adopt BSD for my desktop, I am unable to do so for the above reasons. If BSD got that unique identity beyond userland and kernel, it has to stop relying on the Linux world for its application base and then complaining that Linux developers don't make their code portable across other UNIX-like OSes. To me, in the long run, if BSDs can be considered as true-general purpose OSes (i.e. fit for mainstream destkop use as well as servers) the above points may need to be addressed. Last edited by harishankar; 9th December 2013 at 03:08 PM. |
|
|||
Quote:
Otherwise, devices have to be reverse engineered, & this process is very slow as development progresses through a lot of trial & error. Part of harishankar's concern is the fact that the Linux community is more commerce-centered & will integrate blobs into that kernel which due to non-disclosure agreements will not disclose source code. Yes, this may mean that community may have faster access to more devices, but the public no longer has an opportunity to review the ramifications of the source code, nor fully substantiate system stability. In general, the *BSD community does not condone this practice. Fundamentally, the essential difference between the communities is philosophical. The public benefits from having different options available so they can choose which best fits their needs. This is really what needs to be focused upon when comparing one community to another. |
|
|||
I do understand the open-source philosophy, though I think that doesn't have much relevance to the specific issues I raised in my post above.
The real reason I wrote the above post is that I find that, not surprisingly, none of the UNIX-like OSes are desktop oriented in any way at all. All of them have their roots in code written way back in time and Linux also based its philosophy on that. All the desktop enhancements/additions appear to be after-thoughts. The very existence of a separate GUI layer called X Windows is proof of that. I do understand that history plays its part here and that around that time of UNIX development, the very concept of a desktop computer had not yet evolved. But I find that BSD folks seem to bitterly resent that fact that Linux has a lot of abstractions and "bolted-on" features that make it easier to work as a desktop OS and are tied down to Linux, but when it comes to solutions, I don't see any BSD developers putting their hands up to work on true desktop features. I understand that their itch is different and that they aren't interested in making BSDs more desktop oriented. I just wanted to know why. But the surprising fact is that, in the modern era, barring a few, there seems to be no real OS that is single-user, desktop based written from the ground up. Even Windows or MacOS X are not truly desktop oriented OSes from the ground up. I think Mac Classic is probably the most prominent commercial and proprietary desktop OS. The only other example I can find of a truly 'from-scratch' attempt at a modern desktop OS with at least a bit of visibility appears to be BeOS in the last decade of the 20th century. Although considering that the desktop market has grown to be a significant part of the computing industry in the last couple of decades, the only reason I can see for this is that OS development is one of the biggest challenges in computing requiring huge manpower and resources, particularly for mainstream usage. Why not an Open Source OS that is based on the BSD kernel but built to be a desktop OS from scratch and thus cleanly coded? Are there any technical challenges in this, apart from the obvious issues of manpower, developer interest etc? Last edited by harishankar; 10th December 2013 at 01:54 AM. |
|
||||
Quote:
The prevailing attitude nearly a decade ago was that third-party applications needed to target their code to POSIX criteria. If this was done, then porting to whatever Unix-like operating system should be similar as everyone agreed (to some extent...) that POSIX was to be considered the lowest common denominator. However, a number of developers in the better known applications in the Unix world migrated to Linux, & eventually the attempt to stay agnostic to the target operating system was seen to be a boat anchor. Just write to Linux since this was seen to be the dominant target audience. I would say this is a nit which doesn't mesh in the *BSD world very well. Traditionally open & universal applications are narrowing their focus. Quote:
Quote:
Quote:
Coming full circle, I suspect this is the reason for using X Windows, a "bolted-on" third-party graphical layer. Originally, it was written to be platform-agnostic, it was a known protocol, & those that needed it could install it; those that didn't (the embedded community...) were not forced to swallow code bloat which wasn't needed. However, I suspect your core complaint is that there isn't a lot of standardization -- yet. Yeah, I agree. The true value of Unix is that it is open & flexible. The core system is small, & can be adapted to lots of uses. Does this fit the needs of the desktop market? Personally, I don't see much agreement in what is considered to be a "desktop". I do know that in general, OpenBSD fits my needs. I suspect this sentiment can be inductively extrapolated to the community at large too. |
|
|||
Yes, if there was one word that I can coin to describe that process of de-POSIXification of Linux application development, it would have to be "Ubuntuization".
I believe there are a lot of Linux users who equally resent this. But I don't blame only open source application developers, commercial entities, for this. This rapid push away from core UNIX and to the mainstream desktop acceptance has come from both distribution developers, Linux-based commercial entities, and the Linux kernel devs. Apart from userland, I believe a lot of what went into the Linux kernel is also resented by the BSD community, for example ALSA as a replacement to OSS and consequently a lot of userland multimedia applications being un-portable or hard-to-port to BSD because of this. Which begs the interesting question: is it possible for a UNIX-like OS to stay true to its POSIX roots and still develop as a modern desktop OS? Last edited by harishankar; 10th December 2013 at 02:51 AM. |
|
||||
I agree. I think that's why we see such a large number of WM's / DE's today. Many of them are very different from each other, because everybody wants something different. I don't think it would be possible to create a single (POSIX BSD-focused) WM/DE and have more than 10% (or whatever) of the users happy with it. So we may be stuck with porting Linux-isms, or developing niche solutions (e.g., cwm).
|
|
|||
Quote:
Linux has long been supported by industry grands, such as IBM, Oracle, RedHat etc., who's nowadays responsible for almost 50% of kernel code changes. IBM alone invested 1bn USD into Linux 10-12 years ago and is going to repeat it again. Such a strong backing leads to a much broader functionality, hence a bigger eco-system, more distribs, more hardware drivers, more software, more games ported, more life. |
|
||||
I'd like to add my own comments to this discussion, which I have not yet joined, regarding hardware support.
Last edited by jggimi; 10th December 2013 at 02:42 PM. Reason: typo, clarity |
|
||||
I don't think that writing a whole new set of tools really solves anything, IMHO The `hey, this could be better, let's just make a whole new application/api and throw the old one out'-attitude is seldom useful. Actually making the existing solutions better is almost always the best thing to do, there are exceptions to this of course, and sometimes there is no one `golden' solution, but more often than not the differences are minor and don't really matter.
A simple example might be epoll vs. kqueue, they both do the same thing, and AFAIK there's no real functional difference between them. kqueue was there a couple of years earlier, but for some reason the Linux devs opted to create epoll. Perhaps they had good reasons for that, perhaps not, but the situation 12 years later is that we need to use a wrapper if we want to support both FreeBSD & Linux. Later someone created inotify, which does pretty much the same as epoll & kqueue, with minor differences/improvements, further complicating matters. And that's just Linux & FreeBSD, other systems may use yet another solution...
__________________
UNIX was not designed to stop you from doing stupid things, because that would also stop you from doing clever things. |
|
|||
Let us be specific. I have stated in what ways the desktop environments in BSDs are lacking. Namely, they lack the tighter integration with the OS that Linux provides by various daemons, some of which are ported to BSDs while others are not. It is currently messy "Linuxisms" that make BSDs more user-friendly for desktop.
I have proposed two solutions. What is your stand on each of them? i.e. 1. One of the BSDs choose to focus and create a DE that is entirely UNIX-like and clean, i.e. focus on the BSD services instead of relying on Linuxisms. It could be a fork of any of the existing desktops like Gnome or KDE as well. Thus the entire abstraction layer could be eliminated making the GUI layer talk directly to the kernel rather than through "abstraction kits". This will be ideal and allow BSDs to have feature rich DEs without depending on Linux code. 2. BSDs embrace new solutions in the place of the existing Linuxisms like Conksolekit, policykit, dbus etc. which will seamlessly allow the existing DEs to work as feature-rich on BSD as in Linux. Surely it is within the scope of a project or a group within the BSD community? The current situation is that many of the features of Gnome and KDE that are Linux specific, either do not work at all on BSD or are half-implemented, making these desktops less featureful. |
|
||||
Quote:
Quote:
|
Thread Tools | |
Display Modes | |
|
|