Mailing List Archive


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

[tlug] Open-source repository question



Jim Breen writes:

 > I'd like to pull together some of the variants [of xjdic] and place
 > the whole thing on a public repository such as SourceForge. I have
 > never used that sort of system, so I'd like some advice:
 > 
 > - what is a good one to use?

The big ones that I know of are SourceForge, Savannah (the GNU
Project's distribution site), Berlios, and Launchpad (Canonical/
Ubuntu's dev/distribution site).  There are a number of lesser-known
alternatives (github et al, dotsrc.org, alioth.debian.org).

 > - what are the merits/demerits of the possibilities?

It would help to know what your goals are.  Roughly:

- Sourceforge is by far the best known.  I often just type
  "foo.sf.net" rather than do a google search for the project.  On the
  other hand it can be very bureaucratic.  Much of the bureaucracy is
  automated so it usually works smoothly, and you're unlikely to run
  into bureaucratic constraints at the scale of xjdic.

- Savannah is the repo of choice if you're a GNUbie.  They seem to be
  rather unstable though.  Bureaucracy about like SourceForge's, but
  IIRC unpaid volunteers or poorly paid martyrs to the cause, ie, less
  professional which is sometimes good and sometimes not.

- Berlios I don't know much about, but it seems to be more or less
  like SourceForge and Savannah.

- Launchpad is a slick, well-supported, "next generation" dev and
  distribution platform.

- github (and similar for Mercurial) is a hyperactive development
  community, oriented to distributed development.  Probably not
  appropriate for a mature project.

- dotsrc and other smaller projects tend to be more personal, less
  bureaucratic, and less featureful.

- alioth is a typical example of a project-oriented repo; it is
  primarily for use by Debian, but with sponsorship (eg, from xjdic's
  Debian maintainer) third parties can use it.

Typical features:

- Download areas via HTTP and FTP; often rsync for mirrors, sometimes
  torrents.

- Version control repos, typically Subversion (and CVS for older
  projects), nowadays often supporting git, Mercurial, bazaar, and/or
  Darcs.

- Home page, usually with RSS feed.

- Mailing lists.

- Project membership management (you can designate others to be
  allowed to upload and/or edit content of your project).

- Bug tracker.

The Big Four have all of the above.  Launchpad is perhaps the best
integrated, but SourceForge and Savannah aren't far behind.  I don't
know about Berlios, you'll have to get another source for details on
them.

 > - how best to load the stuff up there?

That depends on what form it's in now.  If you just want to start a
project from the current state, all of the larger ones can start a
version control repo from a tarball.  If you are currently using
Subversion or a distributed version control system (eg, git),
importing your whole history is straightforward (and that can be done
converting to a different VCS at the same time).  If you are currently
using CVS, expect some pain unless you're willing to continue with
CVS, which causes pain of its own, of course.

Ask the repo you choose for help.

 > - should I set it up for configure/make/make install? (I don't
 > at present) If so, what's involved?

make/make install is kind of sine qua non.  autoconf is another issue
entirely.  It's not that hard, if you have a pretty simple Makefile
it's usually easy to convert to automake, after which the Autotools
can automate the rest.  It depends on whether you really have
configuration needs (libraries that may be optional on the target
systems, optional features in your own application, etc) that would
benefit from unified treatment in a configure script.

I don't really feel like I've addressed the specifics of your
questions very well, but maybe that will help you formulate more
questions and provide more of your goals.


Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links