JVCL Contributions

From Project JEDI Wiki
Jump to navigationJump to search

We have more than 300,000 downloads of JVCL from our Website. If everyone would volunteer only for one hour a week, we would have almost 300,000 hours a week, or an equivalent of 7500 full-time people working on this project. And with this we could have tremendous results. Think about it - only 1 hour a week.

Here's some ways you can contribute:

Writing help[edit]

Providing help for the components in the library is one of the most important tasks for us. If you want to participate in writing help, please go to the JEDI Online Help website and start editing the items in that system. Your work will make it into the system after review. This is the easiest way to contribute as it only requires an Internet browser and connection. Spending a few minutes documenting components you use everyday and know well is one the best way to show us your appreciation. Should you want direct access to the files, you should contact the help coordinator for further instructions.

Donating components[edit]

The JEDI VCL is built upon donations made by the community. If you have components that you would like to submit to JVCL then we would love to receive them. There are few rules that need to be followed when donating code. They are primarily needed to protect ourselves and to make the inclusion of your code as efficient and smooth as possible:

  • All code that is submitted will be released under the terms of the Mozilla Public License. By submitting code to JVCL you explicitly agree to it. For more information about MPL licensing please read our licensing page including some FAQ. You can also read the official MPL FAQ from Mozilla. We suggest that you at least glance through these documents before submitting your code. If you still have questions you can always contact us.
  • Submissions must be your own. If code is not your own, you are responsible for making sure that the code is not subject to any copyright or license that would prevent the JVCL team to modify the code and release the resulting code under the terms of the MPL license.
  • Code must be packaged in a standard zip compatible file. You should use the highest compression available. Inside the package you must include an ASCII text-only readme.txt file which clearly states your name, your e-mail address, optionally your homepage address and whether you want to remain anonymous or not.
  • After submission, the code may be modified. As a rule, you will not be contacted for permission to carry out modifications, unless you are involved in the maintenance of the code. No matter how much your code is modified, the documentation will at all times reflect you as being the original author of the code. You will remain the copyright holder of your code.
  • Submitted code is subject to being reformatted to match the style conventions used throughout the JVCL. Contributors will not be forced to convert the components to JVCL standard at the time of submission, but might be requested to do so after the code has been accepted (i.e, you might recieve a message like: "Your donation has been accepted and will be included in JVCL when you have converted it to JVCL standards").
  • Donation should include a demo program that creates the component(s) dynamically (no need to install in Delphi) and shows off the major properties, methods and events.
  • After submission, you should hear from us within two weeks about the status of your donation. If you haven't, contact one of the JVCL admins to inquire about the status of your submission.
  • The JVCL is a Visual Component Library. To avoid confusion, a class is considered a component when it derives from TComponent and it's usage requires it to be installed in the IDE and to be "dropped on a form". These kind of a classes will be included in the JVCL. If you have classes that are NOT components that you like to share with the world through Project JEDI, then please consider donating it to the JEDI Code Library (JCL) instead. A class that does not need to be installed in the IDE, even though it may exhibit some kind of visual interface at runtime, is not considered a component and is perfectly acceptable for the JCL.
  • All donations to JVCL should be submitted via our bug tracker. Please select category "03 Donations", and attach a zip file with your code.
  • After your contribution has been accepted, your name should appear on our Contributors page. If your name does not appear there something may have gone wrong and you should contact us.

Writing demos[edit]

We are always looking for more demos that shows off the components in JVCL. Writing a demo is also a great way to get to know a component. If you have demos you would like to donate, submit them through the bug tracker. Please select Category "03 Donations", and attach a zip file with your code. If you write a lot of demos, you might get developer access to SVN, so you can upload your demos directly.

Fixing bugs[edit]

The JVCL is large and there is bound to be bugs in some of the components some of the time. If you want to help out fixing bugs, log in to our bug tracker and take a look at the reported bugs. If you fix a bug, you can attach it to the bug report along with a description. If you fix a lot of bugs, you might get developer access to SVN so you can make updates to the source directly.

Writing test[edit]

We need help in writing test code for the components in JVCL. We use dunit to write the tests. To find out what tests are already available, see the tests/DUnit folder in SVN or contact one of the admins.


If you speak another language than english, you can contribute by translating the texts in JVCL into other language(s) you know.

Translating JVCL is a matter of creating a copy of the jvcl.po file in the \locale folder of the JVCL installation and translate it using poEdit. Once you are done, you can upload the translated po file to either our bug tracker or to the newsgroups and a JVCL developer will take care of adding it to SVN.


If you have other skills or ideas on how to improve JVCL, please contact us and we will try to help you make it happen.