XPS Documentation

How You Can Help

If programming in XML using languages of your own design sounds like a good idea to you, we invite you to track this project, watch its development, and contribute where you can. We encourge you to contact us if you're even slightly interested in the project. Chances are we can figure out a way to make use of your particular talents. We'd also like to hear what you need from XPS.

At the current stage of development, we need help in many areas, but mostly in core source code contributions. The sections below describe some of the positions we need filled. There are many others. If you think you can help the project, please contact us.

Core Developers

We need some technical gurus to help with the core of the project. To participate at this level, you should have an unending committment to open source software, possess a strong advocacy of the XPS concepts and architecture, and be fully versed in computer science with a particular focus on language and systems design. Specifically, you'll need to be well versed in the following:

  • C/C++ and at least 4 other programming languages any two of which should be Prolog, Lisp, Pascal, Ada, Eiffel, Java, Smalltalk, or Forth.
  • POSIX operating systems, especially Linux. Knowledge of other UNIX variants (System V, BSD) or Windows NT/2000 would also help.
  • Language and compiler design principles. You should have read, understood, and practiced at some point in your career the principles in the "dragon book".
  • Unicode, XML, XML Schema, XML Namespaces, Xpath, XSLT, and related XML standards.
  • TCP/IP networking, protocol design, advanced communication principles, etc.
  • Excellent OO Design & OO Programming skills.
  • Ability to write clear and concise English documentation

Core developers will take ownership of core components of XPS such as the compiler, virtual machine, system daemon, etc. Core developers will also be expected to demonstrate their expertise to other developers on the project and resolve technical architecture issues.

Developers

There are many development tasks ready for novice or intermediate programmers. If you know C++, you can probably help. These projects are typically self-contained, focused on a specific area, and are of a utilitarian nature.

Reviewers

We fully recognize that our opinion about the way XPS should be developed is not the final word. We encourage anyone that has ideas about the architecture, design, or coding of the system to contact us. This is especially important in the design of XPL and the XVM. If you have a comment, please speak up.

Build Manager

As the system developers, doing builds on various platforms and ensuring that the build system is up to date is a continuous effort. We need help from someone that loves to take on complex software projects, write shell scripts and makefiles, provide expertise in Gnu make and autoconf, and do what it takes to make daily builds of the software on multiple platforms painless.

Other Help

If your talents don't fit any of the above classifications, there are still some other ways you might be able to help the project:

  • Coming up with ideas, requirements or specifications for the system.
  • Assisting with general documentation, summaries, and other writing tasks.
  • Assisting with management of the SourceForge project.
  • Maintaining the web documentation, if you have HTML and graphic web design experience.
  • Assisting with testing the system, if you have programming experience and are familiar with XML.
  • Advocating XPS and telling people about this web page.
  • Finding new ways to help!

We look forward to your enthusiastic participation in this exciting project!