Nick,

The problem there is that innocent people can easily become confused into
acting illegally through no real fault of their own. They see a gem at
rubygems.org, a public repository, and tend to think that they're allowed to
use the gem because it's released in a place where people release things to
the public. Unless there is a license, however, under the law that may not
be the case. Instead, some innocent programmer might download and use a gem
from rubygems.org *illegally*, and *punishably under the law*. If it were *
easy* and *well-known* how to check gem licenses *reliably*, especially for
hundreds of gems at a time, as well as for all the gem dependencies of any
particular gems a person wishes to use, the potential for this situation
could be much reduced.

Additionally, people routinely need to check all the gems that their Ruby
projects use are released under licenses compatible with their
organizations' policies. This takes a whole lot of time and involves
hundreds of trips to GitHub or locating and viewing hundreds of gems'
readmes in Vim.

The best solution here is capturing licenses in gem metadatas, and guiding
gem authors to think about and declare the licenses under which they're
publishing their gems.

In our litigious New America, one may consider the practice of putting
license information in gem metadata a new common courtesy, a form of
politeness by gem authors to their gems' users, and an expected form of
civility on the part of all who wish to partake in the civil environment of
rubygems.org. Users do need to know that software comes with licenses,
because that fact has legal ramifications. And software authors do need to
know that they ought, as a common courtesy, to write down the license of any
software they publish, because that also has legal ramifications to the
benefit of all their users.

The effect would be to help innocent users from accidentally breaking the
law and to help all users be sure all the time that they are using gems with
licenses in keeping with their organizations' policies. Indeed, we might
even be able to write specs in our apps declaring that all gems used in our
apps, from inspecting their metadatas, have been released with licenses
whitelisted by the organization - with a build failure when someone adds a
gem to an app that the organization hasn't whitelisted the license of.

Cheers,
Jay Feldblum

On Thu, Oct 13, 2011 at 4:49 PM, Nick Quaranto <n...@quaran.to> wrote:

> I don't want to police licenses from rubygems.org's end. Adding a flag on
> push seems lame too...there's already a lot of "junk" most people don't
> care
> about filling out on the gemspec.
>
> On Thu, Oct 13, 2011 at 4:19 PM, Jon <jon.for...@gmail.com> wrote:
>
> > > To help prevent user errors, `gem build` and `gem push` should warn,
> and
> > > refuse if called without a `--force` or `--skip-license-check` flag,
> when
> > > building and pushing gems without a license listed.
> >
> >
> > Should `gem push` if used with the `--host` option also warn and refuse
> to
> > work without a flag, and if yes, why do you think so?
> >
> > Jon
> > _______________________________________________
> > RubyGems-Developers mailing list
> > http://rubyforge.org/projects/rubygems
> > RubyGems-Developers@rubyforge.org
> > http://rubyforge.org/mailman/listinfo/rubygems-developers
> >
> _______________________________________________
> RubyGems-Developers mailing list
> http://rubyforge.org/projects/rubygems
> RubyGems-Developers@rubyforge.org
> http://rubyforge.org/mailman/listinfo/rubygems-developers
>
_______________________________________________
RubyGems-Developers mailing list
http://rubyforge.org/projects/rubygems
RubyGems-Developers@rubyforge.org
http://rubyforge.org/mailman/listinfo/rubygems-developers

Reply via email to