Re: Project vs. Package
- From: Phillip Gawlowski <cmdjackryan@xxxxxxxxxxxxxx>
- Date: Fri, 20 Apr 2007 01:36:23 +0900
Trans wrote:
You speak of well established community standards, well what are they?
For developers:
place libraries in /lib
place executables in /bin
place documentation in /doc
And then there's ESR's Software Release Practice HOWTO[0], too, as a super-set of rules an OSS community especially, but development in general, too, can and mostly do follow.
These are important for developers.
"Use RubyGems" is not an answer to the questions raised. And this is
It is, for the end-user of software. The most people don't want to mess with configuration, downloads, and three steps until their software is installed, and RubyGems provides a good interface that does make it easy to handle the installation of software.
not about whether there is a "problem" or not. Whatever problem there
are, clearly we work around to get things done, that doesn't make it
less of a issue to be considered and discussed. There are very real
issues that can, and do, arise: Rubyforge projects having gem packages
of the same name; packages, gem or otherwise, adding files to ruby
lookup path willy-nilly which can upset gem requires and clobbers
files for manual installs; module namespaces clashes, etc.
Which is not a problem of Project vs. Package, but a problem of lack of research vs. existing facts, and ignorance concerning existing structures. That is not just a problem of community standards, but "industry standards", too (hard coded program paths in Windows software installations, for example), or placement of libraries in different paths (a common problem with Linux distributions).
I wonder how many ruby projects/packages you distribute. The
development of them is completely tied up in their distribution. First
of all, the layout of a project/package one must use in development is
pretty much a given, since out tools recognize it automatically in
putting together packages (eg. setup.rb, gem build). There are tricks
Yes, and at the same time no. Yes, how I structure the files for distribution is tied into the GEM_SPEC, for example, but you can circumvent that by using the GEM_SPEC, and my rake task doesn't care how deeply nested my development setup is, when gathering the files to build the gem distribution. If these tools would work blindly, I'd be redistributing a lot of cruft with my gems, as the .svn and nbproject directories would be distributed, too. And they aren't. At the same time, I could tell my gems to load the directory foo/ instead of lib/, if I were so inclined (which I'm not).
to divorce the two, but the usually its not worth the trouble.
Moreover, "packages" are what we distribute. So they have everything
to do with how Ruby handle's third party add-ons. For a long time I
Yes, packages do. But not projects. I probably wasn't clear enough in divorcing the two.
thought of a project as the development state of a package. The two
were basically the same in my mind, just for different modes of usage.
Only later in thinking about Rubyforge, did I start to see them as
distinct and that maybe I should start to reflect that in my
development model as well.
No, a project is the organizational structure of a "software firm" (example: seattle.rb), or a development "department" (Rails handling of the different packages, for example). These two philosophies just happen to use the same infrastructure.
Personally, I'd like to drop all my libs right in the top most lib
directory. That's very convenient. But I know that's not going to fly
in sharing them. So I need to accept some constraints and standards
for their organization to play nice. In trying to reasonably do so, I
have found the fore mentioned issues --which I have characterized
largely as a consequence of project vs. package. But irregardless of
the larger depiction the same fundamental issues remain.
Well, I'd love to drop my libs and scripts into the ruby directory, too, as it would be convenient. Instead I either use the created gem, or have a directory to call scripts from (placed into the PATH of my OS, for ease of use).
Otherwise, I don't see any issue with the way RubyForge is organized (or GForge in general), but rather with the perception of these. This could arise from the fact, that most developers choose the "one project - one package" approach, but that isn't tied into RubyForge, as _why follows a similar approach (at least to a mundane like me ;) at his repository[1]
I have the feeling, that you could be reading too much into projects and packages at RubyForge.
References:
[0] http://en.tldp.org/HOWTO/Software-Release-Practice-HOWTO/index.html
[1] http://code.whytheluckystiff.net/
--
Phillip "CynicalRyan" Gawlowski
http://cynicalryan.110mb.com/
http://clothred.rubyforge.org
Rules of Open-Source Programming:
22. Backward compatibility is your worst enemy.
23. Backward compatibility is your users' best friend.
.
- Follow-Ups:
- Re: Project vs. Package
- From: Trans
- Re: Project vs. Package
- References:
- Project vs. Package
- From: Trans
- Re: Project vs. Package
- From: Phillip Gawlowski
- Re: Project vs. Package
- From: Trans
- Project vs. Package
- Prev by Date: Re: ruby scripting on microsoft active directory plus exchange
- Next by Date: Re: ANN: Sequel 0.0.20 Released
- Previous by thread: Re: Project vs. Package
- Next by thread: Re: Project vs. Package
- Index(es):
Relevant Pages
|
|