Open Source Struggles - Finding A Project

For a lot of people -- myself included -- getting involved in open source development is a very, very daunting task. We all have our different reasons for being hesitant to jump in -- I, personally, struggle a lot with impostor syndrome, which I talked about in one of my previous posts. Another big hurdle for me, though, is finding a project to work on. Self-esteem issues are debilitating, sure, but it's hard to even get my foot in the door when I don't know what I want to do in the first place. Do I want to program in Java? C? C++? How about JavaScript or TypeScript? Maybe something I haven't used before, like Rust or Elang. The possibilities are endless!

And, quite frankly, pretty overwhelming... Especially if you're as indecisive as I am.

Fortunately for me, though, I do have some requirements -- those outlined by my assignment, specifically. The gist of it is that I need to make 4 pull requests by March 8, with deadlines along the way for each individual PR. Therefor, I need to keep an eye out for a project with a fair number of issues -- preferably, ones that are geared toward newcomers.

My professor also advised us to look into projects related to things we're interested in. For me, that means anything related to art or fictional stories. That narrows it down pretty well, so with that in mind, I went hunting for a few projects.

Bibisco

Bibisco is an application to help with writing novels. You can create characters, timelines, objects, scenes... Anything that would help in outlining a story. It's best known for the extremely in-depth "character questionnaire", which presents hundreds of questions for you to answer when creating a new character. I've used Bibisco a few times myself, and though it's not my favourite tool for the job, it's still hands-down one of the best applications for organizing your novel. Bibisco is written using Angular, and deployed as a desktop application through the use of Electron. I've used Angular pretty extensively in the past, though only with the CLI; Bibisco was built manually, which means there's a lot of new syntax to learn.

Learning is just part of being involved in open source, though, and I can't let myself shy away from the unfamiliar. Working on Bibisco would be an excellent learning opportunity, and a chance to hone my skills with web development (and learning Electron would be a pretty big bonus). That said, there aren't too many issues logged -- only 78, which span from 2015 to the present. Most of them seem to be enhancements, which are beyond the scope of this particular assignment. The only dedicated contributor is the maintainer, who regularly makes massive updates that include a lot of the logged issues. This makes me just a bit hesitant to get involved; there's a distinct lack of community support, and I don't want to step on any toes by working on something that's already in the process of being fixed. Bibisco might be better for Release 0.3 or 0.4... Or perhaps, just something I parse through in my free time.

React-JSONSchema-Form

Creating forms from JSON schema is something I've been looking into for awhile now, as they would greatly help with some of my personal projects. One of the potential solutions I've found was React-JSONSchema-Form, which also happens to look like a good project to contribute to. There's really not a whole lot to say about this one; it's pretty self-explanatory as far as what it does. With 232 issues, it's got a fair number of potential pull requests, though lack of labels means it's hard to find ones suitable for a beginner.

BookStackApp

I'm a sucker for wikis -- they are hands-down one of the best tools for worldbuilding, which is one of my favourite hobbies. BookStack is one of the nicer wikis I've stumbled across; it's pretty, and though I personally find the interface a touch confusing, it does seem to have everything a writer would need. That's not really what matters to me here, though -- right now, I'm looking more at what the developer side of me needs... And with 342 issues, I'd say BookStack has a fair number of bugs I could probably work on. The catch?

It's all PHP, baby.

I know I shouldn't be shying away from the unfamiliar, but PHP is a language I have not heard good things about. It's also a language I have zero experience in. My school phased out the PHP courses in favour of NodeJS, and I never had much of a reason to delve into PHP on my own time. That said, it's not a bad language to learn; it does seem to be pretty popular in the industry, and as someone who's interested in web-development, I should, at the very least, familiarize myself with it. Contributing to BookStack would help with that.

TiddlyWiki

Ok, I know I only had to research three projects for this assignment, but 1. React-JSONSchema-Form was very short and 2. I really wanted to look at TiddlyWiki. I've actually used it before -- not extensively, mind you -- and I thought it was pretty neat. ...And maybe a little confusing, but I think I'll blame myself for that -- something about not reading the documentation for the app makes said app a little hard to use. It's been a couple years since then, though, and I'd be interested in giving the app another try... And maybe contributing something of my own to it. With 671 issues there's plenty of potential bugs and other issues to fix, so hopefully there's something in there that's suitable for a beginner. TiddlyWiki is also written in JavaScript, on the NodeJS framework, which is something I've got a fair amount of experience with. All in all, it seems like a pretty solid choice for a project to contribute to.

Comments