Wekan-gantt-gpl: Wekan with a Gantt chart plugin
-
-
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
-
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.
-
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.
-
Hello all, especially, @nebulon.
So bumping back this topic as after more than a year the WeKan GPL Gantt version has been maintained and as off v5.71, it is becoming the Wekan version shipped to other projects by the main WeKan dev. See here.
I don't want anyone to feel like I'm stubborn with this but I am wondering if it would now make sense for Cloudron to also adopt this package?
And to explicitly reply to this:
@nebulon said in Wekan-gantt-gpl: Wekan with a Gantt chart plugin:
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.
This is a main tree package, just the same as the original package but licensed under GPL and maintained as the original.
(as explain before the MIT version remains mainly because of licensing issue for some WeKan customers, but the GPL is now becoming the main one shipped elsewhere)
-
@avatar1024 it does indeed sound to me like the WeKan GPL Gantt version is what we want on Cloudron, thanks for keeping track of this!
-
@avatar1024 I have tested this in my dev envrionment it is a direct drop in replacement for the one that is currently on the app store for cloudron. It works the exact same way except has Gantt under the board view. I have a test version if anyone wants to use it.
@nebulon or @girish can you up my cloudron git project numbers so I can publish it please my username is the same as the forum?
-
@avatar1024 Gantt Charts are very useful in project planning. If you have never tried working with one before, they are definitely worth exploring.
There is some Gantt Chart functionality in the Projects module, which is available in Flectra and Odoo. Both of these applications are requested here:
https://forum.cloudron.io/topic/1403/flectra-erp-and-cms-an-open-source-alternative-do-odoo/11
https://forum.cloudron.io/topic/1256/odoo-distributed-business-apps/21
Gantt functionality might be available in the Open Project appliction too, which Cloudron already supports.
-
@ultraviolet That's great to hear!! It'll be great if that can be adopted in the Cloudron version Thanks a lot for picking this up!!
@LoudLemur Yes I have used Gantt Charts and I do find them useful too, hence wanting to have it on the Cloudron version of WeKan You are right to point out that the function is already available in other apps, however we've found that WeKan fit best our (simple) needs in terms of project management and so it would be great to have the function on it as we don't really want to migrate all our projects to another app.
-
@ultraviolet Hello, did you hear anything from Cloudron devs regarding releasing this package? Many thanks!
-
@ultraviolet said in Wekan-gantt-gpl: Wekan with a Gantt chart plugin:
can you up my cloudron git project numbers
Your project limit is 100 in GitLab. Are you unable to create new projects?
-
So, if I understand correctly: Wekan is MIT licensed. The Gantt project is GPL licensed, so they couldn't integrate it into the mainstream Wekan directly. So, the fix is to fork Wekan and create a GPL "wekan" and merge Gantt into it. Did I get this right? The upstream project doesn't have much of a README.
Also, not sure what is the best approach here - do you think we should create two separate packages or replace the existing Wekan with this one?