免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 6769 | 回复: 36
打印 上一主题 下一主题

[NetBSD] 邮件列表里的一个帖子:The future of NetBSD [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-31 09:05 |只看该作者 |倒序浏览
这是今天早上在 netbsd-users#netbsd.org 这个邮件列表里看到的文章,里头写得很好。建议大家都耐心看完。

里头讲到了现在NETBSD的状况,LINUX在某些方面的优势(领导人),等等。
比较精彩。绝对会超过100个邮件回复。

喜欢NETBSD的人绝对要看,看看什么是“恨铁不成钢”。

The NetBSD Project has stagnated to the point of irrelevance.  It has
gotten to the point that being associated with the project is often
more of a liability than an asset.  I will attempt to explain how this
happened, what the current state of affairs is, and what needs to be
done to attempt to fix the situation.

As one of the 4 originators of NetBSD, I am in a fairly unique position.
I am the only one who has continuously participated and/or watched the
project over its entire history.  Many changes have taken place, and at
the same time many things have remained the same -- including some of
our early mistakes.

I'd like to say that I'm some great visionary, who foresaw the whole OSS
market, but the fact is that's BS.  When we started the project, Linux
and 386BSD were both little hobbyist systems, both pretty buggy, and
both lacking a lot of important hardware support.  Mostly we were
scratching an itch: there was no complete package of 386BSD plus the
necessary patches to make it run on more systems and fix bugs, and there
was no sign that Bill Jolitz was going to resurface and do anything.

Much of the project structure evolved because of problems we had early
on.  Probably our best choice was to start using central version control
right off; this has enabled a very wide view of the code history and
(eventually) made remote collaboration with a large number of developers
much easier.  Some other things we fudged; e.g. Chris got tired of being
the point man for everything, and was trying to graduate college, so we
created an internal "cabal" for managing the project, which became known
as the "core group".  Although the web was very new, we set up a web
site fairly early, to disseminate information about the project and our
releases.

Much of this early structure (CVS, web site, cabal, etc.) was copied
verbatim by other open source (this term not being in wide use yet)
projects -- even the form of the project name and the term "core".  This
later became a kind of standard template for starting up an open source
project.

Unfortunately, we made some mistakes here.  As we've seen over the
years, one of the great successes of Linux was that it had a strong
leader, who set goals and directions, and was able to get people to do
what he wanted -- or find someone else to do it.  This latter part is
also a key element; there was no sense that anyone else "owned" a piece
of Linux (although de facto "ownership" has happened in some parts); if
you didn't produce, Linus would use someone else's code.  If you wanted
people to use your stuff, you had to keep moving.

NetBSD did not have this.  Partly due to lack of people, and partly due
to a more corporate mentality, projects were often "locked".  One person
would say they were working on a project, and everyone else would be
told to refer to them.  Often these projects stagnated, or never
progressed at all.  If they did, the motivators were often very slow.
As a result, many important projects have moved at a glacial pace, or
never materialized at all.

I'm sorry to say that I helped create this problem, and that most of the
projects which modeled themselves after NetBSD (probably due to its high
popularity in 1993 and 1994) have suffered similar problems.  FreeBSD
and XFree86, for example, have both forked successor projects (Dragonfly
and X.org) for very similar reasons.

Unfortunately, these problems still exist in the NetBSD project today,
and nothing is being done to fix them.

--

I won't attempt to pin blame on any specific people for this, except to
say that some of it is definitely my fault.  It's only in retrospect
that I see so clearly the need for a very strong leader.  Had I pursued
it 10 years ago, things might be very different.  Such is life.  But
let's talk about the situation today.

Today, the project is run by a different cabal.  This is the result of a
coup that took place in 2000-2001, in which The NetBSD Foundation was
taken over by a fraudulent change of the board of directors.  (Note:
It's probably too late for me to pursue any legal remedy for this,
unfortunately.)  Although "The NetBSD Project" and "The NetBSD
Foundation" were intended from the start to be separate entities -- the
latter supplying support infrastructure for the former -- this
distinction has been actively blurred since, so that the current "board"
of TNF has rather tight control over many aspects of TNP.

Were TNF comprised of a good set of leaders, this situation might be
somewhat acceptable -- though certainly not ideal.  The problem is,
there are really no leaders at this point.  "Goals" for releases are not
based on customer feedback or looking forward to future needs, but
solely on the basis of what looks like it's bubbled up enough that it
might be possible to finish in time.  There is no high-level direction;
if you ask "what about the problems with threads" or "will there be a
flash-friendly file system", the best you'll get is "we'd love to have
both" -- but no work is done to recruit people to code these things, or
encourage existing developers to work on them.

This vacuum has contributed materially to the project's current
stagnation.  Indeed, NetBSD is very far behind on a plethora of very
important projects.  Threading doesn't really work across multiple CPUs
-- and is even somewhat buggy on one CPU.  There is no good flash file
system.  There is no file system journaling (except for LFS, which is
still somewhat experimental).  Although there's been some recent work on
suspend support, it's still mostly broken.  Power management is very
primitive.  Etc.  Even new hardware support is generally not being
originated in NetBSD any more; it's being developed by FreeBSD and
OpenBSD, and being picked up later.  (I think the only recent exception
to this of any significance is Bluetooth support.)

For these reasons and others, the project has fallen almost to the point
of irrelevance.  (Some people will probably argue that it's beyond that
point, but I'm trying to be generous.)  This is unfortunate, especially
since NetBSD usage -- especially in the embedded space -- was growing at
a good rate in 2000 and 2001, prior to the aforementioned coup.

--

At this point most readers are probably wondering whether I'm just
writing a eulogy for the NetBSD project.  In some ways, I am -- it's
clear that the project, as it currently exists, has no future.  It will
continue to fall further behind, and to become even less relevant.  This
is a sad conclusion to a project that had such bright prospects when it
started.

I admit that I may be wrong about this, but I assume that most people
who have contributed to NetBSD, and/or continue to do so, do not desire
to see the project wallow away like this.  So I will outline what I
think is the only way out:

1) There must be a strong leadership, and it is not the current one.
   The leadership must honestly want NetBSD to be a premier, world class
   system with leading edge features.  The leadership must set
   aggressive goals, and actively recruit people to make them happen.

2) There must be no more "locking" of projects.  Just because one person
   is supposedly working on a problem, that doesn't mean you shouldn't.
   If there ideas are dumb, or even just suboptimal, do it better!  If
   there is no progress, hop on it.  Don't wait for someone else.

3) The project must become an *actual* meritocracy, not what I call a
   "volumetocracy".  Right now, the people who exert the most influence
   are often the people who produce the least useful product.  Indeed,
   they are often people who produce little more than fluff (e.g.
   changing line-ending whitespace!), and often break things.

4) Speaking of which, there must be negative feedback to discourage
   people from breaking stuff.  This has been a continual problem with
   certain "developers" for more than a decade.

5) There are a number of aspects of the NetBSD architecture that are
   flat out broken, and need serious rehabilitation.  Again, the
   leadership needs to recruit people to do these things.  Some of them
   include:

   * serious problems with the threading architecture (including the
     user-kernel interface), as mentioned earlier;
   * terrible support for kernel modules;
   * the horrible mess that is 32/64-bit compatibility, resulting in
     32-bit apps often not working right on 64-bit kernels; and
   * unbounded maintenance work due to inappropriate and rampant use of
     "quirk" tables and chip-specific tables; e.g. in SCSI, ATAPI, IDE,
     ACPI and SpeedStep support.  (I actually did much of this work for
     SCSI, but am not currently able to commit it.)

6) The existing NetBSD Foundation must be disbanded, and replaced with
   an organization that fulfills its original purpose: to merely handle
   administrative issues, and not to manage day-to-day affairs.  The
   extra committees, which mostly do nothing, must be disbanded -- they
   serve only to obfuscate things.  Everything else must revert to the
   historically separate entity, the NetBSD Project, to be managed based
   on technical merits.  There must be no perceived glamour in
   participating in the Foundation; it must be composed of people doing
   it because they are dedicated and want to help the project.

   (I will note here that this is not due to bitterness over the coup.
   Keeping the NetBSD Project as an unincorporated association actually
   helps protect it.)

7) The "core" group must be replaced with people who are actually
   competent and dedicated enough to review proposals, accept feedback,
   and make good decisions.  More to the point, though, the "core" group
   must only act when *needed* -- most technical decisions should be
   left to the community to hash out; it must not preempt the community
   from developing better solutions.  (This is how the "core" group
   worked during most of the project's growth period.)

8) There must be a set of commit standards -- e.g. about when it is or
   is not acceptable to commit changes that do not change functionality;
   when multiple changed must be batched in one commit; etc.  Right now
   it is difficult to sort the wheat from the chaff.  In addition, there
   must be standards of review.

I must repeat a point I've made earlier.  The current "management" of
the project is not going to either fix the project's problems, or lead
the project to solutions.  They are going to maintain the status quo,
and nothing else.  If the project is to rise from its charred stump,
this "management" must be disbanded and replaced wholesale.  Anything
less is a non-solution.

--

To some of you, I would like to apologize.  There *are* NetBSD
developers doing good work even now.  I'd like to particularly recognize
and thank those working on kernel locking and UVM problems; wireless
support (though I'm not sure what happened to my extensive set of rtw
bug fixes); Bluetooth; G5; and improved ARM support.  This is all good
stuff.  In the bigger picture, though, the project needs to do a lot
more.

--
- Charles Hannum - past founder, developer, president and director of
  The NetBSD Project and The NetBSD Foundation; sole proprietor of The
  NetBSD Mission; proprietor of The NetBSD CD Project.

[I'm CCing this to FreeBSD and OpenBSD lists in order to share it with
the wider *BSD community, not to start a flame war.  I hope that people
reading it have the tact to be respectful of their peers, and consider
how some of these issues may apply to them as well.]

[ 本帖最后由 MichaelBibby 于 2006-8-31 10:16 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-08-31 09:55 |只看该作者
这里贴的仔细阅读了。
一会儿再去MAILING LISTS仔细读。

先说一下印象:
总体讲他希望NETBSD有一个强有力的领导者,有一个专注、高效的核心团体。
他对NETBSD基金会似乎强烈不满,要求解散。

我不知道NETBSD过去有多少争论,似乎不少。
集权与民主的争论在这里再次得到体现。这似乎又与政治有关了----看来政治真的无所不在。

不谈政治。说一下他提出的一些问题:
   * serious problems with the threading architecture (including the
     user-kernel interface), as mentioned earlier;
这个问题最严重。NETBSD的THREAD实现比FB差好多(也许差上两代----个人意见),问题也很多。即使在单CPU上也会出现一些很难理解的问题。

   * terrible support for kernel modules;
对于内核模块,FB领先NB整整一代。FB基本实现了所有驱动的模块化,而且集成在内核与独立成模块,需要代码的改动很少。NetBSD的内核模块依然很原始,如果把内核驱动改成模块,要作很大的修改。目前几乎没有几个驱动实现了模块化。NetBSD需要升级模块系统。
   * the horrible mess that is 32/64-bit compatibility, resulting in
     32-bit apps often not working right on 64-bit kernels; and
   * unbounded maintenance work due to inappropriate and rampant use of
     "quirk" tables and chip-specific tables; e.g. in SCSI, ATAPI, IDE,
     ACPI and SpeedStep support.  (I actually did much of this work for
     SCSI, but am not currently able to commit it.)
这个问题没遇到过。我在64位系统上目前只运行纯64位程序。

论坛徽章:
0
3 [报告]
发表于 2006-08-31 09:57 |只看该作者
哈哈,我和congli说,这个贴也许只有4个人会认真看完,并且作出自己的回复。

果然你出现了。我还在等 gvim/雨丝/mingyanguo的回复。

刚才在一边看一边跟congli聊。

[ 本帖最后由 MichaelBibby 于 2006-8-31 10:00 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2006-08-31 10:05 |只看该作者
这不是最近的事吧?我这些天一直在关注CURRENT-USERS。
MichaelBibby 给个地址。刚才搜了一下,竟然没找到。

论坛徽章:
0
5 [报告]
发表于 2006-08-31 10:06 |只看该作者
原帖由 assiss 于 2006-8-31 09:55 发表
这里贴的仔细阅读了。
一会儿再去MAILING LISTS仔细读。

先说一下印象:
总体讲他希望NETBSD有一个强有力的领导者,有一个专注、高效的核心团体。
他对NETBSD基金会似乎强烈不满,要求解散。

我不知道NE ...

可以先看看他列出这8点之前的一些话。

他说出了许多NETBSD的缺陷和不足,甚至认为nb在倒退。

以下是我和 congli 在聊天时我对这篇文章里作者的观点的理解,不对之处请大家指正。
说NETBSD现在版本的发布,不是以用户反馈和功能需求作为出发点,而只是泡沫形式的,认为它能够准时发布。
(9:19:47) Bibby: 说NETBSD缺乏高水平(high-level)的管理层。

(9:21:36) Bibby: Threading doesn't really work across multiple CPUs
说SMP上,多线程并没有真正工作。
(9:22:02) Bibby: across,好像应该解释为在SMP之间。。。呵呵,有点不通。你看E文
(9:22:11) Bibby: Threading doesn't really work across multiple CPUs -- and is even somewhat buggy on one CPU.
(9:22:20) Bibby: There is no good flash file system.

(9:23:30) Bibby: 说NETBSD一直都没有一个快速文件系统(flash file system)。
我估计这篇文章会对*BSD(特别是NETBSD)的发展有一定促进作用。等于是在你走岔路的时候给你指正方向。

(9:23:52) Bibby: There is no file system journaling (except for LFS, which is still somewhat experimental).
(9:25:46) Bibby: 汗。说没有日志文件系统,(除了LFS,但是它还是实验性质的),虽然现在有一些缓慢的支持(suspend support),但是它已经基本上broken了(mostly broken)
(9:26:12) Bibby: Power management is very primitive.
电源管理非常“古老”。。。

Even new hardware support is generally not being originated in NetBSD any more; it's being developed by FreeBSD and OpenBSD, and being picked up later.
说新硬件支持这一部分,不再是NETBSD作领头羊了,而只是由FB/OB开发,然后再拿过来用。

(9:34:05) Bibby: (I think the only recent exception to this of any significance is Bluetooth support.)
说NB做的唯一一个领头羊,是蓝牙支持

For these reasons and others, the project has fallen almost to the point of irrelevance.
说NETBSD已经倒退了,完全跟不上时代。

(9:38:40) Bibby: In some ways, I am -- it's clear that the project, as it currently exists, has no future.  It will continue to fall further behind, and to become even less relevant.  This is a sad conclusion to a project that had such bright prospects when it started.
更汗了。
(9:39:51) Bibby: 说现在NB虽然存在,但是没有什么好的功能。(has no future)。它将会继续倒退,并且与世无关(似乎翻译不对)。这是一个可悲的结局,虽然它在刚启动的时候有许多闪光点。

(9:38:40) Bibby: In some ways, I am -- it's clear that the project, as it currently exists, has no future.  It will continue to fall further behind, and to become even less relevant.  This is a sad conclusion to a project that had such bright prospects when it started.
更汗了。
(9:39:51) Bibby: 说现在NB虽然存在,但是没有什么好的功能。(has no future)。它将会继续倒退,并且与世无关(似乎翻译不对)。这是一个可悲的结局,虽然它在刚启动的时候有许多闪光点。
(9:37:01) Bibby: 还说到,虽然在2001-2002年,NB在嵌入式领域被大量使用,但是帖子作者还是认为它倒退了,而且不合时代。

论坛徽章:
0
6 [报告]
发表于 2006-08-31 10:09 |只看该作者
原帖由 assiss 于 2006-8-31 10:05 发表
这不是最近的事吧?我这些天一直在关注CURRENT-USERS。
MichaelBibby 给个地址。刚才搜了一下,竟然没找到。

这是今天才收到的最新的邮件列表:netbsd-users#netbsd.org。
还抄送到了 freebsd-chat#freebsd.org 和 misc#openbsd.org。

看这个 archive 的最末尾,有帖子的:
http://mail-index.netbsd.org/netbsd-users/2006/08/

论坛徽章:
0
7 [报告]
发表于 2006-08-31 10:12 |只看该作者
原帖由 MichaelBibby 于 2006-8-31 10:06 发表

可以先看看他列出这8点之前的一些话。

他说出了许多NETBSD的缺陷和不足,甚至认为nb在倒退。

以下是我和 congli 在聊天时我对这篇文章里作者的观点的理解,不对之处请大家指正。




我对嵌入式了解不多。
flash file system应该指的是闪存文件系统,似乎FREEBSD也没支持----不过对于NETBSD这样以嵌入式为重点的系统,到现在还没支持似乎是有点说不过去。
这里讨论过的
http://bbs.chinaunix.net/viewthr ... &extra=page%3D2

不知道我理解的对不对。

论坛徽章:
0
8 [报告]
发表于 2006-08-31 10:15 |只看该作者
原帖由 MichaelBibby 于 2006-8-31 10:09 发表

这是今天才收到的最新的邮件列表:netbsd-users#netbsd.org。
还抄送到了 freebsd-chat#freebsd.org 和 misc#openbsd.org。

看这个 archive 的最末尾,有帖子的:
[url]http://mail-index.netbsd.org/netb ...

那你还在开头说是current-users里的。害我一顿好找。

论坛徽章:
0
9 [报告]
发表于 2006-08-31 10:15 |只看该作者
原帖由 assiss 于 2006-8-31 10:12 发表

我对嵌入式了解不多。
flash file system应该指的是闪存文件系统,似乎FREEBSD也没支持----不过对于NETBSD这样以嵌入式为重点的系统,到现在还没支持似乎是有点说不过去。
这里讨论过的
[url]http://bbs.chi ...

flash file system,呵呵,是我理解错了,抱歉。
多谢指出。

论坛徽章:
0
10 [报告]
发表于 2006-08-31 10:16 |只看该作者
原帖由 assiss 于 2006-8-31 10:15 发表

那你还在开头说是current-users里的。害我一顿好找。

sorry,习惯性地说是这个列表。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP