Including code from other projects in your own project

Hello everyone,

I would like to know the standard way to include code from
other people in one's project. Lets say I would like to
include dev-utils in the Nitro distribution.

For the .gem distribution, things are simple, I just include
an s.add_dependency line in the Rakefile.

How should I do it in the .tar.gz distribution? Options
are:

- Inform the user in the README to manually donwload and install
dev-utils.
- Inlcude the dev-utils distribution in a vendor directory
(vendor/dev-utils).

I would like to know your opinion on this.
best regards,
George Moschovitis

I think the best answer is, unhelpfully, "it depends". But it really does.

First, how stable is the included project? If you have tight coupling
to that project, and its api isn't stable, you probably want to
include a specific, integration-tested version in your distribution
(if that project's licensing allows, of course).

Also, who are the end users that will be installing it? If they aren't
expected to be knowledgeable Rubyists (shame on them! :wink: ), then you
probably don't want to make them hunt down and install dependencies on
their own.

On the other hand, if you're distributing the project mainly to other
Ruby developers--especially if it is some type of framework or
library--dependencies are better off left separate. As a developer, I
might want to use your code as a starting point, but adapt it to use
some other version of that dependency (for whatever reason). This is a
bit easier if the dependency isn't "bundled".

Just my 2 cents, anyway. Take care!

···

--
Regards,
John Wilger

-----------
Alice came to a fork in the road. "Which road do I take?" she asked.
"Where do you want to go?" responded the Cheshire cat.
"I don't know," Alice answered.
"Then," said the cat, "it doesn't matter."
- Lewis Carrol, Alice in Wonderland

My inclination would be to just inform the user of the dependency.
Why make more work for yourself, when gems and RPA are there to make
life easy for all parties?

But a vendor directory is perfectly reasonable. It depends on the
target audience, and probably other things. E.g. even as a developer
who's happy setting up packages etc., I'm glad Instiki works out of
the box.

Cheers,
Gavin

···

On Friday, November 19, 2004, 1:28:14 AM, George wrote:

Hello everyone,

I would like to know the standard way to include code from
other people in one's project. Lets say I would like to
include dev-utils in the Nitro distribution.

For the .gem distribution, things are simple, I just include
an s.add_dependency line in the Rakefile.

How should I do it in the .tar.gz distribution? Options
are:

- Inform the user in the README to manually donwload and install
dev-utils.
- Inlcude the dev-utils distribution in a vendor directory
(vendor/dev-utils).

Ok perhaps the best way is to include a 'vendor' directory in the
..tar.gz distribution and add some info about installing the projects in
this directory in the README file.

thanks for your opinions,

George.