View Single Post
  #7   (View Single Post)  
Old 1st June 2009
ocicat ocicat is offline
Administrator
 
Join Date: Apr 2008
Posts: 3,318
Default

Quote:
Originally Posted by harisman View Post
I think that these projects should be merged somehow to provide a magnificent BSD operating system, to make it the best secure/multiplatform/fastest/stable operating system available.
We see nearly once a year someone making an argument for unification. Although melding all *BSD's back together appears to have merit, in reality it will never happen.

The FreeBSD & NetBSD projects began with an unencumbered source base which had been vetted by real world usage & customized it to their own liking. The various projects have been around long enough now that the divergence is very real -- one cannot expect to take major subsystems from one project & splice into another without encurring a significant amount of work.

Likewise given that the projects have developed their own forms of funding (self-sustainment) & developed their own cultures, there isn't much motivation to merge. Even looking at OpenBSD's PF firewall which has been ported to both FreeBSD & NetBSD, the versions used by Free- & Net- are a few versions older than what can be found on OpenBSD. What this implies is that porting isn't that trivial or no one is motivated enough to change the status quo. The truth probably lies somewhere between.

Usually when people argue for unification, they contrast the number of drivers available in the *BSD world to that of Linux. Again, two core issues are at play:
  • some Linux drivers are encumbered by NDA agreements.
  • the number of *BSD developers pales in comparison to those contributing to Linux.
Yes, unification might help on this front, but again, the various *BSD projects have their own agendas which may not be compatible. In particular, the OpenBSD project does not accept any driver in which code cannot be reviewed without signing nondisclosure agreements with manufacturers, so porting Windows drivers via NDIS (as the FreeBSD project allows...) will never happen in the OpenBSD world.

Outside of technical differences, the cultural differences extend past different funding models to personality differences. Development requires that people work together & that communication occurs freely. Forcing people to unify doesn't mean that they will freely do so -- especially when much of the work is done without pay.
Quote:
Almost all of the above BSD's are trying to re-invent the wheel with different approaches, waisting development time and resources...
Yes, this is a valid interpretation, but perhaps you are making an assumption about the end-goal: with the exception of FreeBSD which believes that it can take on the Linux world, the other *BSD's are reasonably content with their small niches. Most of these projects are done by engineers wanting to do good engineering. Many aren't paid, so financial incentives or world domination can't be high priorities or motivating factors.

To be fair, developers in the various projects do watch what is committed into the various code repositories. Given that each of the *BSD projects descends from a common base means that some bug fixes & drivers can be ported from one project to another, but the greatest limiting factor is whether competent engineers are both capable & willing to do the work.

Nevertheless, merging entire projects means that some project identity may be lost, & scaling development teams who aren't being paid is a real management issue. Because the *BSD world is predicated on the resulting code be freely available to other uses (read the BSD license...), the various projects are primarily managed by engineers. Engineers don't necessarily make good managers, & managing large teams of developers requires real management skills. I don't see unification ever occurring in the *BSD world because the motivation isn't there.
Reply With Quote