Wow, the response was larger than I expected!
If you're interested in either beta testing, code review, or development, please
register on Gitlab >
here< and PM me your username.
Add in the PM whether you want to be on the review, development, or testing team.
I will run the approvals by the other admins first, before accepting them.
Once approved, you will be added to the respective group on Gitlab.
Your position may be different from the one you apply for. You might request a developer position, but be placed in review instead, or ask for review and be placed in testing.
You may not get the position you requested, but almost everyone should be able to be added to the beta/test team.
A lot of tl;dr follows, so I'll summarize it here:
We're looking for Testers to find and report issues, Reviewers to check those reports and write code to solve the issues, and Developers to sift through issues, merge patches into the code and keep things clean.
If you're a Reviewer or Developer, you may not share the code, or use it in your own project, without clearance from the owners and codemasters.
If there's any questions, feel free to ask! I will begin uploading the code shortly and posting a number of known bugs and features into the Issues pages.
LONG BORING TEXT LOL
The positions are as follows, and roughly parallel Gitlab's permissions tiers (
https://gitlab.com/help/permissions/permissions).
- Testers (Gitlab "Guests", Bravo Team) can submit issue reports for bugs or features, and leave comments on reports and code.
Testers review the beta and release versions, and submit issue reports.
- Reviewers (Gitlab "Reporters", Charlie Team) can do what Testers can, and additionally, download the code for personal review, or use Git to pull and refresh their local code.
Reviewers can also submit code snippets, either as part of a bug report or otherwise.
Reviewers review the Testers' issue reports, find the issues, and write code patches to fix them, if a Developer hasn't claimed it already.
- Developers (Gitlab "Developers", Delta team) can do what Reviewers can, and additionally, merge and branch code, write documentation, push changes/additions to code (on non-protected branches), and manage the issue tracker.
Developers review the Reviewer's patches and code, make sure it's good to add into the project, and keep things clean.
Positions already filled for now, include:
- Codemasters (Gitlab "Masters", Echo team) are in charge of reviewing the Developer's branches, merging code into the production branch, managing team members and access permissions, and managing the project.
- Owners (Gitlab "Owners", Foxtrot team) can bring up new FEPdev projects, shut down projects, transfer project ownership, and this position overlaps with FEPlanet sysadmin/sysop.
The project owners, ultimately deploy the production code onto the server. If anything needs review or changing, they should post the changes into the project on the development branch.
Bravo, Charlie, Delta, Echo, and Foxtrot define access/clearance levels (Beta, Code, Development, Executive, Full), and teams may be referred to by their clearance.
Communication is key, and I will be setting up a common forum between development and testing.
Eventually, if and when the code is open-sourced, these roles may change.
Developers, you will need to
git gud familiarize yourself with the
Git source code management system.
Most of the source manipulation on the repository is done through Git, on a command-line.
Even if you don't know git, I will be able to help, and you can still get an archive of the code to review locally.
There may be graphical tools for your platform to perform Git functions from the desktop.
There are plenty of resources for learning and using Git efficiently, as linked above.
GNU, Linux or UNIX-compatible (Mac OS X and Haiku included) OS is recommended, but not at all required.
Git runs on Windows with minimum hassle, too.
I recommend setting up a good dev workspace in a new empty folder, and if you plan on getting all of the source, including assets and media, 10 GB of free HDD space is recommended.
If you don't want to deal with the hassle of running Git, you can still view and access the code through the web interface, but options may be limited.
Instructions for developers and reviewers to host a local code-testing environment (Windows or Unix-compatible) are to come as soon as I get it working on my end.
FEPlanet uses PHP on Apache with MySQL, and runs on an x86-64 GNU-Linux OS (LAMP stack). You should be able to replace Linux with Windows or another OS without breaking FEPlanet software.
Testers should not need to use Git directly, as Gitlab provides a web-based interface for reporting and collaborating on bugs and features.
Finally, some boilerplate terms and conditions:
Any of these terms may change, with or without notice, in the future.
Your acceptance into the
tester program grants you access to unreleased versions of FEPlanet's software.
You can talk about beta/alpha, and invite people to be approved to access it, just don't share your account (password, access) with other people.
Your acceptance into the
developer or
reviewer programs, and joining the FEPlanet Developer Team, is governed by the following terms.
Sending the PM to request to join as a developer or reviewer, indicates your acceptance of these terms:
- The code is curated by the "codemasters" of FEPdev, and owned by fensti and siro.
- You may not disclose, leak, communicate or correlate the FEPlanet, FETO or related code on the repository (hereafter, "code") to any party/parties outside of the Developers, Codemasters and Owners of FEPdev, or use the code for a personal project which duplicates or extends FEPlanet or FETO, unless strictly and unanimously approved by the codemasters and owners.
- (Pertaining to FETO) You may not use your knowledge of the code, or request a modification to the production code, to grant yourself an uncompetitive advantage over other users of FETO.
This does not include game mechanics which have been documented already.
Finally, a note about code licenses:
- Certain code deployed on FEPlanet, is "free software" by origin, under a "viral" license, such as GPL, LGPL or Affero-GPL. FEPdev's codemasters will respect and honor any requests, by anyone, with no discrimination, for GPL-covered code on a case-by-case basis as required by the license.
Provided code may remove, or make empty/default, configuration files which contain secret information, such as database credentials.