On Jul 29, 2005, at 12:26 AM, Robert Milkowski wrote:

RTF> I am telling you, point blank, based on both my experience within
RTF> the open source community and my research background in software
RTF> architecture, that OpenSolaris will fail to achieve the goals set
RTF> by Sun executives if you refuse to allow community members to
RTF> develop new projects within the community on unstable branches.
RTF> Furthermore, you CAN retain all of the compatibility conditions
RTF> that you require and *still* give freedom to the community, but
RTF> only if you let the community development proceed on branches
RTF> (fork within itself) instead of chasing those developers off
RTF> to other communities.

My impression is that it's going to be allowed to make your own branch
which is a fork of main gate. Then you can do whatever you want and
with procedures you feel are necessary - it's all up to you.

Technically, you can do it right now - it's just that current
infrastructure (lack of it) doesn't make it easy - but you can
download sources and put there ksh93 or whatever you want.

Now if you want your work to be merged with main Open Solaris gate,
then you have to follow specific rules.

By coincidence, I finally figured out what the disconnect is this
morning, somewhere between sleeping and waking up.  It is inherent
in the way that teamware works that almost all work is done in
external forks, outside the view of most of the community, and
that work only becomes part of OpenSolaris gate after it is done.

In a community using Subversion as a tool, all of the "gates" are
public branches in the main tree.  What you call OpenSolaris is
just one (stable) branch on that tree.  The difference, of course,
is that everyone in the community can view and participate in all of
the work on all of the branches (or whatever subsets they choose to
follow) without waiting for the work to be considered "done".

Visibility is an essential aspect to collaboration and equal
participation.  What I call OpenSolaris is the entire community
and all of the branches they maintain -- if I were to talk about
just a branch, I would say the OpenSolaris 5.11.x branch (or 5.x
if I wanted to talk about all minor revisions).

Right now, Sun has only exposed the "done" gate of OpenSolaris,
which is equivalent to throwing code over the wall.  The reason
I talk about that wall is because one of the primary goals of the
governance proposal is to avoid a situation like that of Darwin,
wherein the community is only allowed on the periphery and releases
are tossed over the wall based on internal decisions.

Interestingly, this teamware effect is also found in Linux
development, which in spite of its open source nature has never
been a collaborative effort in any real sense.  In Linux,
individuals build trees on their own and make changes in their
own projects.  When done, the hardy folks among them enter the
process of convincing one of the benevolent dictators to accept
and integrate the changes (as they see fit) with their next
revision.  The "community" only participates in the sense that
code eventually shows up in the unstable release path.

And IMHO this is VERY important, that Open Solaris main gate stays as
a current-in-development gate for Solaris. For me and I belive for
many others Open Solaris is really Solaris which is opened. And I
strongly would prefer it stays like that.

And I'm really excited with SchilliX, Gentoo, etc.
What would be helpful is an infrastructure on OpenSolaris.org for
projects like SchilliX and for easy creating your own gate. So we need
SCM.

If someone wants his own gate and maintain its changes and then create distribution on it -
then there's nothing which/who can stop him. Now if his work proves to
be valuable and will follow certain rules it could be merged with main
gate. If Joerg wants to put pdksh or something else in his
distribution then he is free to go.

The problem is that community development is replaced with a bunch
of one-person forks.  Such development does not get the same peer
review as when people are encouraged to work together on a fewer
number of branches.  It is effectively the same as encouraging
people to fork externally to the project rather than stay within
the OpenSolaris family.

Folks here keep using Linux as a model as if it were the paradigm
of open source development. I think you should be looking more
closely at the FreeBSD and Apache styles of development, which
have successfully integrated strong peer review and stable
interface revisions in the same manner as Sun but *with* true
community collaboration.  I think you will find that such communities
closely match the values held by Sun engineering and yet are able
to collaborate as equals.  I think continued use of teamware
as the integration mechanism will prevent us from building a
collaborative community.

....Roy

_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org

Reply via email to