Good work hipster. I especially like the format you present your ideas. 

And instead of right away promoting this RRFC as a standard, I act like it's
a request for comments. Comments you asked for, comments you'll get:

> 1. Version check syntax

How about changing the syntax, so that instead of saying

  require "thread >= 4.2"

one would say

  require "thread" { |version| version >= 4.2 }

where an object passed to a block would be a Version object complying what
ever standard versioning policy Ruby starts to promote and adhere to.

If we would like to have a smarter loader, which loads only specified
version, it we could have the same syntax; utilize the block.

Otherwise I'd like to say

  require "thread", Version.new.greater_than("4.2")

and effectively stuff all the complicated logic somehow to an object which
is passed along when requiring.

Actually the requiring could objectified too, so that one would be able to
redefine the order in which files get certified by class Version. And
require would be left as a shorthand to really write:

  Require.new("thread", MyOwnCertifier.new)

And of course the certifier could look the class closer, like calculating
the md5 sum for it, and comparing it to the one residing at read-only-media.
:)

> 2.1 A more fine-grained scheme

Although I think javadoc have been utilizing version numbering per method, I
have no idea how they are useful, or if there's any tools which really use
this info.

I somehow doubt there's no use, but even if there's we could use specially
formatted comments to have the same effect.

	- Aleksi