Guides/Github
Overview
Github is a website and organization which provides centralized support for collaborative efforts using git. Note that this includes support for wiki content.
J's source code -- for the J engine, for the various J ides and for the many addons -- is hosted on github.
Typically, collaboration on github works like this:
- Discover an issue of concern.
- Find the repository for the code you are concerned with.
- Study the repository to locate key areas of concern.
- Clone or fork a local copy of the repository and test your ideas and inspect the consequences of your approach.
- Propose your changes.
Github supports git's pull requests and which allows direct proposals. Github also provides its own issue tracker.
J Package Manager
J's install command supports installing unofficial addons.
For example: install 'github:zerowords/tgsjo'. (Note that this example also requires that official packages gl2 and gles be installed, and requires hardware and drivers which support opengl.)
Cloning
git clone with a github repository url will create a local copy of that repository in the current directory. The local copy will be a directory whose name matches the repository name, and must not already exist. To clone to a different directory, use git clone repositoryurl directoryname.
Cloning allows you to use your favorite tools to search and inspect the code base. The primary motivation for cloning is to test and use the software.
Caution
J is a programming language, used by many people, with a growing body of work. Changes to the language or addons which break existing code are generally speaking a bad idea. Changes to the machines J runs on motivates changes and these changes can be important, but the wrong kinds of changes break existing work and needlessly impede users of the language, and discourage future use.