From: "Horacio López" Date: 2002-01-03T12:27:08+09:00 Subject: [ruby-talk:30105] Brainstorming on project synch, internationalization, etc. 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