PCGen Needs You! #foss #volunteer #opensource

Paul Grosse


PCGen has a critical shortage of contributors.

The release and development of [6.08.00] has been slow and may be the project’s last. It will come with fixes and pathfinder 2ed support. The lack of volunteers has brought development to a slow crawl, both in terms of the programming and the addition of books. Many of the experienced team members can no longer regularly contribute and there have been few new additions. If you use and enjoy PCGen and can contribute, I encourage you to help. Open source projects only continue existing because of regular contributors.

This is not about making people feel guilty to get help. This is about facts. Without contributors, bugs don’t get fixed, features don’t get added, books and materials do not get supported. Many open source projects face this problem as time goes on, there isn’t any pay. It is a collaboration toward a common goal, a helpful program to create PC characters. I know maintenance of older projects isn’t as interesting as the latest and greatest tools/libraries but it is much more cost effective than rewrites/re-implementations. PCGen represents an enormous effort in terms of man hours and it would be hard to replicate.

# To Volunteer
Details follow below. There are three teams, the programmers who implement features and provide fixes, the data entry team, & the support team. To program you must write Java, the GUI is written in Swing and moving to JavaFX. The data entry group requires no special knowledge and the files are all written in a domain specific language. The most important thing is time and motivation. The support team requires no special knowledge beyond the program itself, or website maintenance, or general customer support knowledge, or general organization skills.

If you’d like to help …

– Join the [discord] and ask to help in the contributor section. Mention @LegacyKing, @GearsandCogs, or @Nylanfs
– DM this account **only** if you strongly dislike or cannot use discord. I’ll try to follow up as I can. The dev team mainly uses slack & other means, discord is just a convenient contact point with a low user threshold .
– Feel free to clone and look at the git source code for [PCGen]

# Why support PCGen?

#### Open Source With Many Features

– Anyone anywhere can get PCGen, you just download and run it anywhere Java does.
– It is and will always be both free and open source.
– It supports many rule sets like D&D 5e, Pathfinder 1e, Starfinder, etc… Most official books are supported, but also third party and homebrewed content.
– It allows user modification and extension. That means you can add custom classes, monsters, spells and other campaign materials without needing to program (requires the domain language).
– As it is open source, you can modify the program/UI and optionally send us a pull request.

#### Competition
There isn’t really that much at this time. It is a very niche market making tools to create characters according to pen & paper rules.
There isn’t a lot of incentive for new entrants into the market as it has high complexity and low demand. If new ones did, I don’t see them being open source. To our knowledge, the main alternatives would be Hero Lab and platform specific apps like  Pathbuilder on Android or iOS.

I am not experienced with the competition so I can’t make a full list of pros/cons. There are several glaring cons:

– These are mostly closed source products, so you are stuck with whatever is provided. It may be high quality like Hero’s lab but it is dependent on the author entirely.
– Some of these require one time or ongoing payment. This is great for supporting development but leaves some in the world behind who cannot afford it.
– Android and iOS specific apps are proprietary and if your group has a mix of devices, your favorite app on one may not be on the other. It is good to have a unified experience as a group.

# What Do Volunteers Do?

The primary requirement is available time and motivation, most else is secondary and can be learnt. Existing members can help answer questions you have on the project but they can’t give you a hand held crash course on programming or data entry. You should expect to invest a portion of your time learning the code, some basic team process and the domain specific language. Once you up to speed, you are free to propose and implement features you like, fix bugs or add new books/content.

There are three basic teams.

#### Dev Team

To make the most contributing here you should be a person with programming knowledge & some experience. Knowing Java would be a great plus but experience with related OOPs would be fine (i.e. C++, C#, etc…). Nice to haves but not essential would be:

– have knowledge of Swing/JavaFX for UI
– have worked with git before
– basic knowledge of Tree structures
– experience debugging & tracing programs

#### Data Team

These are the people that input book rules into the domain specific language (DSL). You don’t need programming knowledge, it is more of a data entry role. There are videos and documentation explaining the formatting of information in the DSL and you’ll spend most of your time editing text files. It isn’t the most fun, but without these heroes there’s just an overly complicated Java UI.

#### Support Team

These are the people that keep everyone organized and talking to each other, keep the website running, handle support questions.


Thank you for your time.


PCGen Team

Join main@pcgen.groups.io to automatically receive all group messages.