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

RE: development environment question



> You hit the nail on the head!! What we really need is a serious well
> experienced network/security admin/engineer who can help architect the
> system.

You could probably find some candidates from within the Debian community. 
Perhaps a DD could comment on which mailing list would be appropriate for
a job posting and/or consulting RFP.  (I might be interested in the role
myself.)

> Our goals:
>  * Provide Project Management

Many "project management" functions relevant to open source projects are
implemented in GForge.  Have a look at http://alioth.debian.org/.  MS
Project it's not, but Gantt charts and resource allocation are often not
practical in volunteer projects.  Note that some commercially sponsored
projects whose results are released under a free software license do use a
more traditional project management approach, and you could potentially
fill a useful niche by making it easy for a person in a project manager
role to track actual progress (especially in areas like testing and
graphic design).

>  * Provide a Development Network of Servers

It would be good to spell this out further.  What coverage of
architectures and operating systems do you have in mind?  Do you intend to
provide shell accounts or more restricted functions like autobuilders and
web development environments?  The Debian autobuilders are very important
to the testing and release process, and perhaps your project could
contribute to the packaging of buildd functionality for wider adoption. 
For an example of public shell access for open source development
purposes, check out the Skiff Cluster (ARM Linux on iPaq) described at
http://www.handhelds.org/projects/skiffcluster.html.

>  * Provide Test Servers
>  * Allow users to configure Test Servers as Required
>  * Allow users to build/execute/test their code on the Test Servers

These things are relatively easy to provide on Debian systems thanks to
debootstrap and user-mode linux.  (If the application needs direct
hardware access, the developer/tester probably needs his or her own
hardware anyway.)   Networked applications, even those desiring a
privileged port, can be installed and tested given root privileges inside
a UML instance and sleight of hand with a NAT firewall.  (Suppressing
malicious use is an issue, but it's a social engineering problem, not a
technical issue.  Most developers are willing to have their use of public
systems audited.)

> Obviously, this kind of environment has to be carefully built/implemented.
> Our question is how can it be done? What are the tradeoffs that need to be
> made? Has anyone constructed a network close to this? Our initial thoughts
> were of University/Computer labs... But even these are a little more tied
> down...

At one level this is a routine job for an engineering department sysadmin.
 Perhaps the analogy is not to a university lab but to a circuit design
and verification lab or an animation rendering farm, where there are many
workers in whose skills and motivation you have varying degrees of trust. 
Resource accounting is a must so that people know what level of support
they can count on as a deadline nears.

The level on which it is not routine is social and financial; participants
in open source projects are motivated differently from those in corporate
projects, and the support process has to be designed accordingly.  It's
not easy to allocate the lion's share of limited resources to worthwhile
projects without alienating potential future contributors whose current
project seems marginal.

> -Bruce
- Michael



Reply to: