Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.

Wekan-gantt-gpl: Wekan with a Gantt chart plugin

  • There is a version of Wekan which incorporates a gantt chart plugin. Be great to have the Cloudron app based on this one if it's not a faff to package

    Find info on here:

  • Yes please! Is the intent to merge fork upstream though?

  • @yusf I'm unclear about that and I think it hasn't been merged because of the license difference. The plugin is GPLv2 and so they had to re-license the whole thing under GLPv2 and do this separate package.

    @nebulon would it be a faff to try to package this as an unstable app for testing?

  • Here is the post from the Wekan maintainer, basically the Gantt plugin was a very neat piece of code which he could add to wekan easily but didn't have time to look into the compatibility with wekan's MIT license so he created another repo with the whole thing licensed under GPLv2 instead of merging. Both versions are now being updated/released/packaged together.

    Now that I've looked into more, it does feel like Cloudron should just switch to the one with the Gantt plugin since it is effectively the same app but with an added feature. Of course there might be a technical problem I'm not aware of since I'm not a coder and have never packaged a Cloudron app....I have to confess 😉

  • Staff

    In our experience it is hardly ever a good idea to package some patched or enhanced version of an app instead of the real upstream project. The issue is that we want to maintain apps as long as possible to avoid users having to migrate data between apps. Chances are simply a lot higher that the original upstream project is maintained for longer. Plus often the original project has good arguments why it would or would not pull in patchsets or features.

  • @nebulon said in Wekan-gantt-gpl: Wekan with a Gantt chart plugin:

    In our experience it is hardly ever a good idea to package some patched or enhanced version of an app instead of the real upstream project.

    Just to say, this could be different from most cases of this because in this case the enhanced version is maintained by the the exact same person and the "real upstream project".

    But of course, totally possible, and I guess relatively likely that at some point he'll decide he can't be bothered to keep merging upstream changes into this fork of his.

  • @nebulon Thanks for the reply and info. I can entirely see your point. I still it is worth reading the maintainer's post on this (linked on my previous message) as it does feel this case is different (the project aren't merged only because of licensing but are maintained/updated/released upstream together).

    But maybe creating a separate Cloudron app rather than replacing the current one could be a safer option?

  • @jdaviescoates said in Wekan-gantt-gpl: Wekan with a Gantt chart plugin:

    But of course, totally possible, and I guess relatively likely that at some point he'll decide he can't be bothered to keep merging upstream changes into this fork of his.

    Of course this is a possibility, in fact maybe likely if someone bothers to make a wekan gantt plugin compatible with MIT license so Wekan maintainer can merge into original upstream and abandon the GPL version. @nebulon Yes ok maybe we should wait for a bit and see what happens.

    As a side note, the whole Gantt discussion made the maintainer think about changing Wekan license to GPL altogther 😁, but he might have upset to many commercial wekan users that integrate it deeply and don't want to release the code. - personally I thought that was exactly the case where GPL is super powerful as a license and could create virtuous chain reactions toward open code (in this example: Gantt plugin > Wekan > deep integration code). It's good to know the maintainer is great and very community minded! So is the person that release that gantt plugin.

  • @nebulon Something just came to my mind, and I wouldn't want to sound pushy with this, I'm just interested.

    As far as I can tell the added gantt plugin doesn't affect users data but is just another way to display that data. So if the plugin gets replaced by another one the user doesn't loose data, it'll just be display with the new plugin.

    So in fact could changes in the plugin not part of the update cycle of Cloudron Wekan package as switching between packages should not affect the users data and there should be no need of import / export?
    Say Cloudron release a package update with changes the wekan app to the wekan-gantt-gpl version and if this ever gets dropped cause someone develops a gantt plugin under MIT which gets merged into Wekan, then the Cloudron Wekan package update back to the original Wekan app.

    From a Cloudron user perspective, that'd be better than having two different wekan app cause then no need to export/import data.

  • Staff

    The real and longer lasting solution is to work with the wekan project to somehow get this into the mainline tree instead of us trying to workaround in a package. We have no clue what the side-effects would be and what potential bugs might be introduced either. So if you want to see this happening, maybe consider helping out in the main project to get this going.

  • @nebulon I'd love to. Although the issue here is not technical, but only strategic. The maintainer could not merge it into main the tree because of the license but could merge it easily to the app. That's why he himself repackaged Wekan entirely under GLP2 in a separate branch and is maintaining the new package upstream.

    But I could help write another gantt package for Wekan licensed under MIT.

    But anyway, no worries, I was per my original post, I was just putting the suggestion out there in case it'd have been easy to do seeing that in that case the function would have been merged into the main tree as an update if it did not have a licensing issue.

  • @avatar1024 I guess maybe perhaps just encourage the maintainer to re-licence WeKan as GPL then? 😛

  • @jdaviescoates Haha, I've actually mentioned it in passage, but I can also really see that Wekan business model might rely on those commercial customer and upsetting them could be too much of risky thing to do for the great of good 😁

    Though it is to note that he actually did relicensed Wekan as GLP, he just renamed it Wekan-GPL and kept the MIT version going! What we'd be asking is in fact to scrap the MIT version so he could rename the other one Wekan!

  • Here is some more from Wekan's maintainer regarding the differences between Wekan and Wekan Gantt, and ways to switch between the two versions.

    "Those changes to/from Gantt GPL version are very small. That Gant Chart only displays some data exact same Wekan database on both MIT and GPL versions, there is not even any differences in database structure.

    For newest Wekan changes, I have released all newest Wekan versions for all of 1) Wekan 2) Wekan Gantt GPL 3) Wekan Ondra versions. Wekan Ondra is from time before creating official Wekan Snap, only difference there is snap name. If sometime for example 2) and 3) would deprecated so that newest update shows only migration instructions at Wekan webpage, then those users should do mongodump/mongorestore to newest Wekan snap, like this:..."

    @nebulon Maybe this helps to inform the implications from the perspective of the Cloudron package

    Just for clarity, I'm telling anyone to do anything here. I'm just a keen Cloudron user/activist pointing out a cool new feature that landed on the Wekan app (that could / or could not benefit Cloudron), gather as much info as possible about it and I let technical people consider whether it's worth their time implementing it.