On Sun, Sep 16, 2007, Omer Zak wrote about "Development Environment Setting Up 
(was: Re: [Israel.pm] errors?and warnings in Perl)":
> In the following excerpt, Amir E. Aharoni pointed out a problem several
> people have in joining some of the more successful big Free Software
> projects (OpenOffice is especially guilty in this respect).
> 
> The problem of setting up is not only due to the need to download and
> install extra packages, but also due to conflicting tools and versions
> of tools needed by different projects and the developer's own work.

A question needs to be asked: how big a problem has to be before you start
calling it a problem? Let me explain. Let's say that I found a small annoyance
in X Windows, and want to fix it, but now I realize that to get and compile
X Windows is a process of at least (say) 5 hours. Just to understand this
project's layout and to find the file to modify is another 10 hours. Is what
I just described "a problem"? For some, perhaps most, this is a big enough
problem to avoid any attempt to modifying this software.  But this is a
problem that you'll never be able to "fix", because it just stems from the
project's size.

Now, on the other hand, if you have a project which is not only huge, but
also requires in order to compile it 20 esoteric tools (say, a pascal compiler,
a make-clone written in scheme, a forth-to-prolog compiler), 50 esoteric
libraries, and specific versions of software (e.g., will only compile using
gcc 3.4.5 and Java 1.4.2 from IBM), then this is a definite problem. Projects
should try to avoid this situation *at all costs*, by making their code more
portable (as to not require specific versions of software) and by conditionally
compiling out code depending on library availability (e.g., if some BMP to GIF
library is not available, simply don't allow this conversion in the software
but do everything else as usual).
Project managers that grew up on Unix, diverse machines and Unix-like OSs,
and with Autoconf and its friends, will naturally think this way. Other
project managers will have a hard time accepting that they cannot control
every aspect of the "build environment".

> I wonder whether it's possible to do one or more of the following:
> 
> 1. Build, for popular distributions, packages and meta-packages which
> cause the full build environment for a project to be installed.

It is definitely possible, but then you still come across the first "problem"
(or non-problem, depending on your view) I mentioned: the sheer size of the
project. If compiling OpenOffice takes a full day and several gigabytes of
disk space(as someone once said - I don't know if it's this is still true),
most people will probably avoid doing this even if just takes one command to
do all this.

-- 
Nadav Har'El                        |       Sunday, Sep 16 2007, 4 Tishri 5768
[EMAIL PROTECTED]             |-----------------------------------------
Phone +972-523-790466, ICQ 13349191 |How long a minute depends on what side of
http://nadav.harel.org.il           |the bathroom door you're on.

=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]

Reply via email to