[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Figure [was: Debian GNU/Hurd 0.3 -> 1.0]



[We've talked before, but I think your questions merit a public
reply.]

>>>>> Erik Enge writes:

 EE> What needs to be done before Debian GNU/Hurd 1.0 ships?  Who
 EE> decides that?  What resources are needed to make that goal within
 EE> this century?  And how do we go about getting those resources
 EE> (more developer for example)?

I was hired by the FSF to try to answer these questions---what needs
to be done in order to release GNU 1.0?

After some time, the answer to me has two pieces:

1) Continue the tradition that made GNU software strong: its
portability to non-GNU systems of all kinds.

2) Give the complete GNU system an advantage by writing GNU programs
so that they exploit the special features only found in GNU.

These plans seem to be contradictory, but I believe all that is
missing is a software package which makes it easy for programmers to
satisfy both goals.  With such a package, people would be able to
develop new programs for non-GNU systems, but those programs would be
faster/safer/simpler when they were run under GNU.  Conversely, people
would be able to develop new programs for GNU, and these programs
would be immediately portable to non-GNU systems.

That kind of software would attract people to GNU even stronger than a
few new packages that weren't available on non-GNU systems.


Two examples from my past serve to illustrate this point:

I designed GNU Libtool from scratch to be capable of building both
shared libraries and static libraries.  On platforms that didn't (yet)
have shared library support, only static libraries were built.  This
allowed developers who only had access to static library platforms to
build packages that made shared libraries when possible.  Vice versa,
shared library developers could make packages that Just Worked on
static-only platforms (provided they followed other basic rules of
portability).

GRUB was designed to run at boot time, but when I added the ability
for it to run as a regular *nix program, I lowered the energy required
to develop new features, and made most kinds of debugging simpler.

[It would be a crime to forget to mention the people who took these
projects and ran with them: Alexandre Oliva, Thomas Tanner, Gary
V. Vaughan, and OKUJI Yoshinori.]


Now I am working on Figure, a general-purpose application framework
whose goal is to provide programs with an interface to powerful GNU
features, while remaining portable to many other systems.

The more programs which use Figure (or something like it), the more
consistent and portable GNU will be.


Anyway, that's enough high-level discussion for now, and I don't want
to stray too much off-topic.  If anybody wants to continue along this
avenue, I recommend you to the Figure home page and mailing list:

http://fig.org/figure/

-- 
 Gordon Matzigkeit <gord@fig.org>  //\ I'm a FIG (http://fig.org/)
Committed to freedom and diversity \// I use GNU (http://www.gnu.org/)



Reply to: