Codefest Grant - RubyGems cleanup and enhancement

That makes more sense. Thanks!

-Rich

···

On Tue, 15 Mar 2005 16:55:18 -0600, Lyle Johnson <lyle.johnson@gmail.com> wrote:

On Wed, 16 Mar 2005 07:33:11 +0900, Richard Lyman <lymans@gmail.com> wrote:

> If you're telling me to STFU about discussing the fact that I think a
> GUI for the whole 'gems' concept would be an enhancement (since you
> asked for our ideas on possible enhancements), then I'm really
> confused...

I think Ryan is just asking everyone, in his own sweet way, to "STFU"
about comparisons between RPA and RubyGems because *that* discussion
is completely off-topic for the originally stated purpose of *this*
thread (namely, Eric's question: "What you want to see cleaned up or
enhanced in RubyGems?").

I don't believe that anyone is opposed to the development of a GUI
front-end to RubyGems, but it may be (in Ryan's estimation) too large
of a project for the guys to try to tackle in one weekend, considering
all of the other possible "cleanups" that likely need to be done.

That makes perfect sense then. Thanks for the explanation and good
luck with the enhancements!

-Rich

···

On Wed, 16 Mar 2005 10:00:55 +0900, Eric Hodel <drbrain@segment7.net> wrote:

On 15 Mar 2005, at 14:33, Richard Lyman wrote:

> On Wed, 16 Mar 2005 04:48:49 +0900, Ryan Davis <ryand@zenspider.com> > > wrote:
>>
>> We'd like to show up w/ a prioritized list of things we'd like to do
>> and maybe even some already failing unit tests so we can be on task
>> from the very beginning. Instead, we are weeding through a bunch of
>> dogmatic crap that we didn't ask for and are not much closer to having
>> said list. I've flagged a couple of email for ideas, but they are a
>> vast minority thus-far.
>>
>> P.S. That goes for writing a whole GUI frontend as well. We are
>> meeting
>> for ONE WEEKEND.
>>
>>
>
> I'm confused. _What_ goes for writing a whole GUI frontend?

Not going to happen.

> You're going to write a frontend for 'gems'?

No.

> The _first_ release
> should be entirely possible in one weekend with a couple of good
> developers.

Exactly. The Codefest Grant is enough for one weekend, so what's the
purpose of spending money on us if what we develop is unlikely to be
maintained or finished? (I'm not terribly interested in maintaining
it, and I'm certainly not interested in GUI toolkit headaches either.)

I'd much rather see the Codefest Grant money put to a use that will
have the greatest benefit to Ruby, and a GUI only falls under the "ooh!
shiny!" category for me.

Things like behaving nicely to ^C or a command to remove old gems are
much more beneficial and I think the community will get more value for
their donated dollars. We're looking for the rough edges and dull
surfaces to sand down and polish. (Yeah, I'm going to be spending your
money, so I don't want to be producing stillborn projects.)

The idea is to pull off a huge success so we (the community) can point
to something and say "look what your donated dollars bought!" This way
more dollars will be donated which allows larger, longer projects to be
funded.

--
Eric Hodel - drbrain@segment7.net - http://segment7.net
FEC2 57F1 D465 EB15 5D6E 7C11 332A 551C 796C 9F04

[I write this reluctantly, such a déjà vu]

With the same reluctance....

I must say that I do not really understand why so much pressure is put
on us to dump a custom-made tool, crafted to suit our needs, which does
not compete against RubyGems, in favor of the latter.

Agreed. I don't care if you dump rpa-base or keep it at this point.
There's a lot of mailing list noise about it, but other than that
there is no real negative effect of having the two formats.

> and since Matz seems to have indicated that RubyGems
> will become part of the core when it's ready, then it will work
> transparently.

AFAIK matz's latest take on this is

I'd happy to merge the packaging system (with
which both teams can agree) in the standard Ruby.

That's fine; maybe some of our ideas can help make RubyGems better.

They already have. But it seems to me that Matz feels we need to
converge on a common format (between RubyGems and RPA). We don't. I
propose that we already "agree" to the necessary level. We have
totally different goals, with some confusing implementation overlap.

How is that equivalent to a manifesto? :slight_smile:

I refuse to ever write anything called a "manifesto", nor do I think
there are many people confused by the fact we haven't written one.
Here's the purpose of RubyGems (my take on it):

RubyGems is:
1. A package format for Ruby libraries and applications.
2. A system for managing installation of such packages from both local
and remote sources.
3. A "master source"/repository for such packages.
4. Intended to be Ruby's standard for package creation and distribution.

Ask more questions if you need more clarification, and I'll add
another bullet point or two.

The talks about RubyGems replacing RAA, etc, didn't originate in the
RubyGems team but rather in groups of users. So it's up to the RubyGems
team to make sure that people understand what RubyGems is and what it is
not meant to be.

People will talk. That's always the case. There are always going to
be people coming into ruby-talk and trying to make various aspects of
our community and technologies into something they are not. Everyone
has an opinion, and talk is cheap. For example, Ruby isn't statically
typed, and no matter how much conversation goes on about this, people
still bring it up.

Let's see if we can let this thread die.

···

On Tue, 15 Mar 2005 22:44:44 +0900, Mauricio Fernández <batsman.geo@yahoo.com> wrote:

--

Chad Fowler
http://chadfowler.com

http://rubygems.rubyforge.org (over 100,000 gems served!)

Hi Mauricio (and others too),

I know there are a lot of people who don't want to talk about RPA and RubyGems, perhaps you included. Matz does seem to feel that there is some benefit in combining the two, and I happen to agree. On the other hand, they aren't my projects, and I don't even fully understand them. Although they are different in a lot of ways, they do share enough that it seems there is an unnecessary duplication of effort. I think it would be really helpful if we could clear up some points that still confuse people about the two projects.

If you'd prefer not to talk about it, please feel free to tell me to STFU (though nicer language would of course be appreciated). If not, please read on.

I'm not sure I completely understand the analogy comparing RubyGems and
RPA to rpm vs. FreeBSD. I understand the basics however. RPA doesn't
care too much about the package format, it's more focused on the
process, and making sure that there are consistent, documented libraries
that are production-ready (that's what your manifesto says anyhow).
This is like how the FreeBSD ports system works (or so I understand).
The packages are audited, repositories are maintained, etc. RubyGems on
the other hand *seems* to be an attempt to create a package format, a
repository and a basic package manager, with new features added as they
become necessary. This is like the rpm package format and the rpm
commandline tool. On the other hand, there's no attempt made to see if
a given foo.rpm is any good.

There are certainly areas of overlap -- the package management tool, the
repository, and the specific packaging requirements. These are the
things that an end-user would interact with. Given that, it's
completely understandable that people see them as competing projects.
It just seems like RPA has a lot more depth in what it's trying to achieve.

I think the reason that RubyGems has a bigger "head of steam" is that
it's easier for people to wrap their heads around it. All you have to
do is convert your package to a Gem and get it in the repository. For
RPA there seems to be a much higher barrier to entry, and (speaking as a
developer) I don't exactly understand what I need to do.

I may be wrong, but it seems to me that there's something missing from
*both* projects: stable vs. unstable.

In RPA it seems like *everything* is stable. That's good, but it's also
limiting. I haven't used FreeBSD but I use Gentoo and Debian, and
although the "stable" branches of both of those distributions are full
of qualified, stable packages, they also have an unstable area, where
the packages are in the appropriate format, but other than that, no real
checking is done. I don't know about other people, but if I could only
use the stable packages, I'd have a lot of trouble.

RubyGems is almost the opposite. In RubyGems *nothing* is stable,
because there is no concept of stability. As DHH mentioned, you can use
different gem repository URLs to have stable vs. unstable gems, however
that's not a real solution. Once a gem is installed, as far as I know
the system has no way of knowing whether it was tagged as stable or
unstable. As far as I know, you can't track the 'stable' and 'unstable'
gems separately.

The more I understand about RPA, the more useful I think it could be. I
regret not understanding it better before. If the RPA and RubyGems
efforts were combined, I could see RPA adding features to support
RubyGems... but at this point I don't see how the opposite would work.
It seems that because RubyGems was never planned as a system with
audited packages, guaranteed-good documentation, multiple package
formats, etc. it would be really hard to modify it to include those things.

It is much easier for me to see RPA being able to deliver packages to
various distributions as .debs .rpms .tar.gzs, ebuilds and even gems. I
think that's a really important feature of a packaging system.

So here's a question for the RPA developers:

As I understand it, RubyGems is:

1) a package format
2) a repository
3) a package management tool

and essentially

4) a relatively easy way for developers to throw together a possibly
unstable, but possibly really useful library and put it somewhere where
people can get to it

I think that's a great service, and something that was desperately needed. Before RubyGems there were no common repositories, no common package formats, no easy tools for installing them, etc. It's really cool that there are now ways of installing programs via gems, and it looks like the RubyGems people are really responsive to feature requests, and are constantly trying to improve their offering. On the other hand, some of the RPA goals (audited packages, documentation, a good upstream format, etc.) seem to be things that are not major concerns to the RubyGems developers.

I believe RPA has all of the above except number 4. As I've said, it also seems to have a lot more besides. Could RPA also provide that?

I'm all for using the best tool for the job, but somebody had a tool to hammer nails into wood, and somebody else had a tool to remove nails from wood. Wouldn't it be amazing if those two tools could be combined into one uber-tool?

http://www.dot.state.ia.us/natmodel/images/hammer.gif

Ben

P.S. if you've seen this message before, sorry. I sent it out this morning but it didn't seem to arrive on the list.

Both sides have the *same* goal: Get code from the writers to the users.

The methods remind me of the "Worse Is Better" concept:
http://www.dreamsongs.com/WorseIsBetter.html

Here we have RubyGems as "Worse" and RPA as the "Right Thing"...
someone just needs to point out that they are trying to do the same
thing: get the best Ruby code out to the people who want it. It is
just that one side talks about manifestos and the other talks about
purpose, beyond that they have the same goal.

The methods are just different..

Douglas

···

On Wed, 16 Mar 2005 08:20:37 +0900, Ben Giddings <bg-rubytalk@infofiend.com> wrote:

RPA doesn't
care too much about the package format, it's more focused on the
process, and making sure that there are consistent, documented libraries
that are production-ready (that's what your manifesto says anyhow).
This is like how the FreeBSD ports system works (or so I understand).
The packages are audited, repositories are maintained, etc. RubyGems on
the other hand *seems* to be an attempt to create a package format, a
repository and a basic package manager, with new features added as they
become necessary. This is like the rpm package format and the rpm
commandline tool. On the other hand, there's no attempt made to see if
a given foo.rpm is any good.

Hi,

···

In message "Re: RubyGems, RPA and best tool for the job" on Wed, 16 Mar 2005 03:24:28 +0900, Chad Fowler <chadfowler@gmail.com> writes:

I'd happy to merge the packaging system (with
which both teams can agree) in the standard Ruby.

They already have. But it seems to me that Matz feels we need to
converge on a common format (between RubyGems and RPA). We don't. I
propose that we already "agree" to the necessary level. We have
totally different goals, with some confusing implementation overlap.

I just don't want to discourage one side by merging another. If RPA
camp say "OK, we go our way, nevertheless Gems merged in the
distribution", that's fine for me. Did they?

              matz.