Replacing JIRA at OpenCraft

Ticket to log time

I’ve been working on a discovery to replace JIRA with an open-source alternative, and since this is going to affect all of us, I figured it would be best to make a post here and share my findings so I can get better feedback.

Before we can find a replacement we need to know what all JIRA does for us, so here is my breakdown of JIRA for reference, focusing on things we use:

We use JIRA to create and maintain tasks that we are working on as “tickets”. Each ticket has:

  • A title or summary

  • A longer description that ideally follows a template

  • A type

  • A priority

  • Labels

  • An epic

  • A sprint

  • An account

  • A point score for effort required

  • An assignee

  • A reporter

  • Two reviewers

  • Creation, update and due dates

  • A record of time logs

  • A comment space for discussions

  • A history of actions on the ticket

  • A relation to other tickets

  • Links and attachments

  • A state that has customisable transitions, thus allowing only certain states to go to other states.

  • A resolution

  • Watchers who are users that are informed of ticket updates

  • Tickets can have sub-tickets that are assigned to other people

We use JIRA to maintain projects as Epics, and each ticket is assigned to an Epic. Epics are very similar to tickets, but have a different set of states.

Epics are further organised under projects, which in OpenCraft represent teams in OpenCraft

Each ticket and potentially even epics belong to a sprint, and each sprint cycle a new sprint is created and all tickets that are not resolved are moved to the next sprint.

We can create different views into tickets using boards that show a ticket’s status in columns. This view is very configurable and you can update the status by moving tickets along the columns

We have tools to help people estimate tickets in a sprint.

We have tools to generate reports and views of time logs on tickets aggregated on the based of people, epics, account or other custom aspects.


I’ve been looking into a replacement tool that can give us all or as many of these features as possible under the constraint that it must be fully open source, and not just open core. Unfortunately, there is as yet, no perfect replacement.

My search is still ongoing, but so far, most open-source solutions available in this space are open core, and not fully open source. [image]Plane, [image]OpenProject, and [image]Tuleap are all open core and as such off the table.

The most promising option so far was [image]Taiga, which is Python and Django-based and fully open source with a commitment from the company behind it to being open source as well. They are also the creators of [image]PenPot an open-source alternative to Figma that is similarly fully open source.

However, they are currently in a state of transition as they are working on a new product called [image]Tenzu that will replace Taiga and is being rewritten from scratch. That product is too early in its life to be useful to us right now and while Taiga has quite a lot of features we want, there is still stuff it is sorely lacking. Additionally, there is currently no migration path from Taiga to Tenzu (though they would certainly have one eventually).

There is another promising open-source software I am looking at called [image]Worklenz. My understanding is that their software is open source, however the cloud hosted version has some limitations if you use the free version which, I feel, is entirely fair. This one in written in JavaScript and Angular, so while not totally in our wheelhouse, it’s still something we can somewhat contribute to.

7 Likes

While open core is less desirable than fully open, it might be acceptable if the open core features are enough to start with and we can implement whatever else we’d want. In fact the last time we did this discovery, we came out deciding that GitLab was probably the best option, and it’s open core.

What specific features are missing? What would it take to make hacky workarounds until Tenzu is ready?

Sounds workable. For the cloud-hosted limitations, is this different from open-core in that it just requires additional services to be available, then, and theoretically we could stand up our own to get those features?

I planned to look GitLab as well but decided against it due to the open core nature. I think I agree with @antoviaque on this point that an open core project is unlikely to accept any enhancements we make to it if they compete against their current or planned premium features.

I will look into this for sure and report back.

Yes, that seems to be the case. i.e. for instance if we were to offer a free and premium plan for Listaflow, or Grove or other product, but users are free to just deploy their own instance and get all the features. AFAIK cal.com is similar.

Yup, open core is tempting, but you end up with proprietary software mechanisms around the features that the company running the project keeps proprietary. So I would stay clear of those, it’s not fertile grounds for contributions and shared community stewardship.

For Taiga, I had good hopes about them, but the fact that they already go through a full rewrite when they are still a incomplete project is not a good sign. I would let that settle for a while before committing to either Taiga or Tenzu.

Worklenz looks promising? If it matches feature-wise, and we think we can work with its codebase, it would be useful to understand well their business model and their licensing, listing the precise limitations they put on usage, modification or redistribution.

Another option to consider is elemo by @gabor. Although it still needs a lot of development, especially on the frontend, it is truly open source, has a nice frontend stack (Next.js + React + shadcdn), and has the potential for some really unique features because it uses a graph database on the backend (something I’m personally a big fan of).

Many things are already implemented on the backend, except time tracking / budgets and boards. The frontend is still fairly immature.

If we’re willing to invest some time into creating a tool that’s ideal for our needs, I think we should consider this and get @gabor to estimate what that would involve.

(An example screenshot from the UI framework being used for the WIP frontend.)

I tried the Tenzu demo and the UI is noticeably clunky and slow. It seems poorly designed and implemented. For a brand new project, I think that’s a red flag. There is a huge difference between it and something like Trello or ClickUp (both of which have super fast, modern UIs even though Trello is quite old).

Worklenz seems promising, but doesn’t appear to be getting much development since it was published six months ago (few PRs or commits): Commits · Worklenz/worklenz · GitHub

Does anyone know how Plane offers a Pro-only time tracking feature when their license is AGPL? I would assume any plugins like time tracking would also have to be AGPL.

5 Likes

One correction to this: the WIP UI is not yet using it, but would be very easy and fast to implement as the components are already available.

Usually the plugins are allowed to be licensed differently. It is probably the case here, however, if they forgot to put it into the license as a separate clause, there is a high chance of not respecting their own license choice.

Ah, I think this explains it: lgpl - How can an AGPL web application allow proprietary plugins? - Open Source Stack Exchange

1 Like

If you guys were motivated by the recent slowness in Jira, I’d agree with replacing it. Although I just started using it, it might seem counter-productive to be facing latency issues with a platform we use to organize work.

2 Likes

:+1: for elemo!

2 Likes

Although I may be biased in this case, but the outstanding work could be completely or partially covered by founds coming from grants. Especially if the outstanding work is split to sub-projects. (cc: @Fox as we were discussing grant-related projects lately).

1 Like

I will definitely look into elemo, but another promising one from the features perspective is Redmine. It seems to have most of the features we are looking for, and has plugins that will probably cover the rest. It doesn’t seem to have the concept of Epics, but perhaps there is a plugin for that. It’s written in Ruby and has a pretty old-looking interface. Additionally, while the project is open source, plugins can be proprietary and paid, especially some of the ones we’d want to use.

I’ll look into elemo now.

If you would like to, I can compile a quick discovery with outstanding task estimates that would be needed. Probably easier/faster to review than discovering the code for clues.

I think this would be important either way for properly evaluating Elemo, since we know it’s not immediately ready. As for grants, possibly! But to get the ball rolling on that, we’ll need a discovery, too :slight_smile:

1 Like

To conclude the meeting we had with @kshitij today, I wrote a quick discovery on Elemo which hopefully give better insights and idea.

In my honest opinion, it could be a really good match for OpenCraft as we wouldn’t need to make compromises, though that’s a discussion for a different day. Or at least not for the night (on my end).

4 Likes

I think it would be good to also go over this with @cassie or @Ali before finalizing that estimate-- if we’re going to use this (and foster collaboration with a larger community) I think it would need design work to make sure it’s attractive and pulling people in (and pleasant to work with)

3 Likes

I agree that at some point a design would be needed for involving a broader audience to the project. That would probably happen on a marketing site I guess rather than the actual app that OpenCraft would be in need right now. I guess that could also be a good (sub-)project candidate on its own.

From app perspective, the components are already given (mostly with a well designed style by the UI library). However, some iterations on the upcoming layout may would not hurt.

Keeping budget in mind, I would focus on something that’s functionally covering the needs at the moment :sweat_smile: However, there is no decision yet on whether to consider the project, so I wouldn’t rush ahead.

@gabor This is such a cool initiative! And awesome that it’s your work :slight_smile:

I’d be curious to see what the application “looks like” right now and how one navigates it etc. I can’t seen to find anything in the docs. Could you perhaps send a screencast demoing a few things?

I also tried this link to navigate to the local Storybook instance to check out the potential UI but it’s not working: http://127.0.0.1:6006.

@braden @gabor @Fox I don’t doubt the qualities of elemo, but the problem is that it currently has no community or traction - which would effectively commit us to do all the development and maintenance. I don’t think OpenCraft has the resources (yet :) ) to successfully run a large project like a ticket tracker. Those things look easy on the surface, but they quickly turn into Open edX-sized monsters. We want to work with others on their project - so that we can contribute the things we care about upstream, but let the (vast) rest of the project to others.

For redmine, I used it in the past - it has features, but is clunky as hell to use, old, and not a good option imho. To give an idea, going from redmine to jira would feel like an upgrade.

1 Like

I completely understand your point about the challenges of maintaining and developing a large project like an issue tracker—it can definitely turn into major undertakings. Just to clarify, I wasn’t suggesting that OpenCraft should take over Elemo or shoulder the entire responsibility. It came up as a possible good match to contribute to from OpenCraft’s side and get funds for the work, so it may have been an interesting option.

Jira, compared to Redmine, definitely seem to be an upgrade rather than a lateral move. In this case, based on the conversation above, am I right that only Worklenz is in game as the rest is out due to its licensing nature or other issues? Or not even Worklenz as it is not getting development for ~6 months?

Hello, Tenzu’s team member here :wave: Thank you for your interest. I perfectly agree that Tenzu is still very much in early life and not at all an alternative to something like Jira yet. We still have some works to do, but we hope to get there! :muscle:
I can however fully commit that we will stay opensource, no opencore model for us: our code will always provide all that Tenzu has to offer.

Thank you for trying out our early preview! If you don’t mind, could you tell us what exactly have you found to be slow?
We do some performance testing and have not noticed anything wrong, but perhaps it could be something related to our UI animation choices or network issues (the demo is currently hosted on a veeeeery simple setup, so it might be slow depending on from where you try to access it)? We would be very glad if you could provide some more details for us to investigate.
To avoid spamming the current topic which is very much about OpenCraft and not about Tenzu, maybe you could give your feedback either through an PM here, our community forum or our contact email (ask@enzu.net) at your preference? Thank you again! :smiling_face:

To explain a bit the history about the rewrite: originally, Kaleidos, the authors of Taiga started a new product as a successor a few years ago, designed with modern UX, accessibility and inclusivity in mind. They had big ambition for it but needed to stop because of the success of their other product, Penpot, that didn’t leave them any more time. They started searching for a new team to commit to the project.
Enter BIRU (us), and Tenzu is now our full-time occupation :slight_smile: Some times had passed since Kaleidos had worked actively on that project and with it, technical updates, mostly on the Angular sides. Being a different team and wanting to use the very last tools at our disposal for a project that is still in early life, we chose to rewrite some of it. You can read more about it if you want here.
I hope I could provide context to something I agree could be perceived as a dubious choice.

7 Likes