Hello everyone, I hope you are having a great year 2002,
very excited about Ruby, and with many projects in mind.

As you may have read in a previous announcement, in our project we're
having fun translating Ruby into spanish.
In a different thread of my mind I have also been processing some data
I gather from ruby-talk, in particular some interesting projects as
Ruby Gems, RAA.succ, and FreeRIDE.
At some certain point, my thoughts automatically tend to entangle those
threads and create new links between --apparently-- unrelated data.

These projects I have mentioned are essential for the community as a whole,
they are very important because they are creating the foundation on which
many hundreds (perhaps thousands) of future Ruby applications and projects
will be based.
Though it's very nice to have a highly de-centralized development approach,
(and I feel very comfortable with it myself) there are some certain things
that could be optimized and synchronized among these projects.

A common agenda regarding common basic software infrastructure
would be ideal. What do I mean by "basic software infrastructure" ?
Well, here's the idea.

* Ruby Gems should come with embedded locale metadata
   (ie:  [lang=en, country=us, charset=us-ascii]
          [lang=pt, country=br, charset=iso-8559-1] )
* RAA.succ should build on this meta-data in order to index,
search, archive modules.
* FreeRIDE should be able to generate international applications
according to Ruby Gems and RAA.succ specs, so that
ANY developer will be able to easily integrate her project
with others by default, any developer will be enabled to develop
"internationalizable" applications from scratch.

I mention internationalization and these 3 projects, just to name
a few things that will have a major impact on the Ruby community.
Many more projects could benefit on this idea as well, like
application servers, gui libraries, and a large etc.

Why do I specifically mention these 3 projects, and internationalization
as an important issue ?

because....
* we KNOW Ruby can compete at rapid application development, and
FreeRIDE will compete with already estabilished IDEs in that arena.
It will have to compete with features already available in other IDEs, for
GUI design, internationalization, version control, package distribution,
etc.

* we are speaking Ruby here... we do things the right way, right ?
RAA.succ has to be a better CPAN than CPAN itself.
We have to think of RAA.succ not just as a central file repository,
not as a nice-to-have-website but as of a huge distributed application...
(commonly hyped nowadays as "web services").

*  if we want Ruby to expand, it will have to be available
to everyone, everywhere, and that means that people from non-english
speaking countries will have to be able to read documentation, and create
non-english applications that can be easily translated to other languages.

Sounds big ?  Not to me, it's not that hard to have a common agenda
to address all these things that would be REALLY NICE to have.

The solution I propose is:
* We need sort of a "coordination board", able to understand the needs,
the pros and cons of implementation issues, synchronizing projects,
avoiding duplication of effort, providing insight there where it may
be necesary.

Internationalization is more important than many may think.
If you develop a lot of applications for a certain market, and that
market already has competitors in your niche (perl, python, java)
moreover, that market is close to be saturated, you will find
trouble trying to enlarge your marketshare.

On the contrary if you follow another approach, by spreading
the seeds as wide as we can, those seeds will on turn generate
other seeeds to be planted.
Wide as in every market, every country, every niche.
I call these the "Narrower" and the "Wider" approach.

I feel that we must embrace the "Wider" one.

If it's all that beautiful, why nobody has done this before ?
Well, probably nobody has done it yet in the open-source world.
In the open-source world, most projects start as independent
ideas, leaded by a role taker, addressing a certain need.

Here we are talking about something other, a general purpose
language, a Wider approach, a tool to build tools. (metatool)
Perl has done it to some degree, when I first used CPAN it
amazed me. It was so simple, yet so powerful.
We are Ruby, the next thing after Perl, we think big,
we think "Wide".

The 3 projects I mentioned are the key to the "wider" approach.
The synergy between them will be more than just the sum of
three projects.

I truly feel that this would be a major boost to Ruby as a language,
and most important, as a community.

I am sure you will have plenty of comments to make,
so keep them coming :-)

cheers,

vruz