PLNet.org: Background and Rationale

There are probably about a million people who write programs and applications using the PL/SQL language. There are a handful of helpful web sites and public discussion forums that allow us to share ideas and code, ask questions and provide answers. In general, though, the sense of community and the benefits of community for PL/SQL developers are weak, particularly when compared to what is available for other popular languages and tools.  I feel that this is a real shame--something that can and should be addressed.

This note gives a brief introduction to the idea, why you might care about it, how it might work.

Why Create a PL/SQL Repository?

The Open Source software development model has proven itself as a viable way to utilize the minds and efforts of people around the world, in a way that is impossible for any single company.  But to date, PL/SQL developers have been unable to draw from this “well.” But why should of thousands of developers around the world work hard every day to build PL/SQL-based systems without taking advantage of reusable code elements?  Why should few of us have access to expertise that can help us get our jobs down in a productive way?

Having a web-based, open-source PL/SQL repository could address these issues and be of benefit to almost every PL/SQL developer in the world.  The repository could:

I hope those thoughts give you a clear idea of what might be possible. Some of you familiar with other public source repositories may be asking, I like the idea of sharing PL/SQL, but why build a new repository when there are others we could use?  Up to a point I agree--and we should be using other available tools like SourceForge (see below) insofar as they are useful.  However, when you think about some of the features that would be really helpful to PL/SQL programmers, it's not clear to me that any existing repository would meet the need.

Features of a PL/SQL Repository

Here are some of the envisioned features of the repository. This is definitely a draft list; at this early stage, almost everything is open for discussion and change.  Here is one vision of what the repository could offer:
  1. The most comprehensive, highest-quality archive of reusable code. It would be the place every PL/SQL developer goes to first to see if what they need to write is already written.
  2. A real FAQ for PL/SQL (or pointers to one). There are snippets of such a thing on various sites, but nothing that is truly comprehensive and as helpful as one would expect from a language that has been around for ten years.
  3. A large body of written material that would supplement Oracle's (albeit improved) documentation with guidance for the real world.
Here are some proposed ground rules and specific features:

Will This Idea Really Work?

In addition to the Linux rpm tools mentioned above, the major inspiration for this idea is CPAN, the Comprehensive Perl Archive Network (http://www.cpan.org), which is the place to find all things Perl.  Not only is it a fairly amazing web site, but Perl programmers also have a “cpan” command-line program that automatically performs all the grunge work of downloading and installing the module they want. If you haven’t already, you could visit CPAN and envision a site like this one devoted to improving the lives of PL/SQL developers.

Success is more likely if we build from a model that has proven itself many times over. We have the support of many publicly-acknowledged leaders in the language, people who are willing to devote some of their time and resources (code and documentation they have written), and an infrastructure to house the repository.

Content

The repository is all about content. I personally offer a variety of material for the repository, from training material to code. One of my pet projects is using GNU “make” to help manage the development, building, and release of PL/SQL code; the ultimate goal is a tool that generates Makefiles for PL/SQL.

I am sure that each of you have a large volume of your own code or written material that could be added so that, at the time of launch, the repository has an attractive seeding of top-quality "stuff". (Heck, maybe one of you has already built that “make” tool!)

Once a baseline of content is available, we will aggressively spread the word about this project, and see what happens!

Bill Pribyl
Last modified 05-Mar-2003 9:40 AM