-
-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Continue the work on Mojohaus vs. Aspectj.dev #1
Comments
Thanks for reaching out, Ben. The timing could not be worse, though. It is kind of surprising to get a reaction the very day I released the plugin with group ID Actually, the first time someone asked for Java 9 support under mojohaus/aspectj-maven-plugin#24 for the plugin, was in March 2017. Since November 2017, when there were RC releases of AspectJ 1.9.0, people asked the maintainer to support it. Nothing happend, up to this day in May 2021 the plugin only supports Java 8. In November 2018, Nick Wong opened his PR mojohaus/aspectj-maven-plugin#45 for supporting Java 11. By then, the original maintainer did not even respond anymore. Neither he nor Mojohaus tried to resolve the situation that he was simply too busy to continue maintaining the plugin. No blame to David, life happens and priorities change. Anyway, Mojohaus as an organisation failed. People - myself included - have been asking, appealing, pleading. In December 2018, Nick published his fork on Maven Central and later talked to JetBrains in order to make them recognise the plugin in IntelliJ IDEA. In January 2020, plugin version 12.6 supported Java 13. By that time, I was involved a bit, too, trying to contact David Karlsen, the original maintainer. After a few tries, he responded once per e-mail, saying he was busy, but would be willing to accept PRs, which never happened. He also said he would like to welcome Nick and me on the team, which also never happened. I also tried to suggest to him to reach out to Mojohaus in order to hand over to Nick. At the time, I was not interested in becoming a maintainer, because I have zero knowledge about Maven plugins, which has not changed substantially since then. Earlier this year, Nick told me at mojohaus/aspectj-maven-plugin#45 (comment), that he is no longer available as a maintainer and recommended me to fork again, which I did. For now I am still using a Mojohaus parent POM and have not changed much in the plugin, but I did upgrade it to Java 16 - remember, the original is still at Java 8! - and published it yesterday. I also made sure that IntelliJ IDEA is going to recognise the new group ID by talking to JetBrains, like Nick did before for his fork. This was a long and painful journey. I even pay for the aspectj.dev domain and had to work through a process to get the corresponding group ID
Well, it certainly does not seem so. It definitely did not work for more than three years to even get a simple PR (which is outdated now) accepted into a Mojohaus project. Actually, I would have welcomed the invitation until not so long ago, even though I am afraid of yet another OSS organisation with tedious processes, micro-managing code reviews, IP trail legal reviews obstructing release processes etc. I might have accepted all that for the benefit of the AspectJ community, because I love AspectJ, even though I never wanted the responsibility for this plugin and certainly not the ceremony of working inside an OSS organisation. (Maybe Mojohaus is very agile compared to Apache and Eclipse and my fears are unfounded, I cannot say.) Today, having seen myself forced into forking the plugin, at least after having invested time and a little amount of money (for the domain name), I have the freedom to commit whatever I want and to release on my own terms whenever I want. I am independent of people running legal departments, CI servers, code review systems or Jira instances. You might understand, that I am not feeling so inclined to kick all my efforts into the trash just so as to get that shiny |
Hi Alex, sorry for reaching out just right now. I was trying to pull in your dependency yesterday, probably just before you uploaded it. I opened this issue because I thought a maven central release would be more likely this way. Well, I got invited to mojohaus multiple times now, but I am also an Apache committer and PMC, and this are mostly the same people working there. I am sorry to hear that you made these experiences. I saw some dead threads on google groups. While Mojohaus does have some advantages, e.g. domain, workflows, access, etc. I can really see your point. I will talk to some people to see if we can make one of your proposals happen (dev-aspectj becoming the new upstream OR an invitation) – whatever makes more sense. I do fully understand your point, and I (personally) have no objections making this repo the upstream repo. I will see what I can do. Any way, the primary goal should be to not confuse users (like me, I came here as a user), so both ways would work for me. Thanks for the insights, |
Thanks for your friendly and considerate reply, Ben.
Which is why this morning (local time) I generated new plugin documentation on GitHub Pages directly for this project, instead of pointing to the outdated Mojohaus docs from the main read-me file. The acknowledgements for Codehaus, Mojohaus and Nick Wong both in
are there, though, which is not just a matter of IP (intellectual property) trail but IMO also one of professional courtesy. |
Great. Btw: Same timezone, same country. ;-) So, why not try moving forward here. I will see if this plugin works for Shiro: https://github.com/apache/shiro/tree/main/support/aspectj. I will merge the PR soon. Here is the stack trace FYI:
|
Are you sure? I am in Southeast Asia ATM. ;-)
Cool, thanks.
I am unaware of any changes there while I was working on AspectJ 1.9.7. I just tried to make it compatible with Java 15/16, but did not change any functionality, because I do not have the necessary knowledge in AspectJ internals, just lately having started to contribute. Honestly, I never tried running AspectJ on anything other than Oracle JDK or OpenJDK. @aclement would know much more about this. But I still do see class |
It is not an aspectj issue, I believe. Should be fixed by #6. |
@kriegaex why not simply asking on the mailing list? perso I received too many gh notifications to they go to a folder which I read later.... |
@olamy, because I did not know that such a mailing list exists or that it would be the place to ask. Before I join, please explain why I should become a Mojohaus committer after all the frustrations and efforts of the past. With all due respect: Sell it to me, please. We tried to get a simple PR merged for 2.5 years, and now one day after my first Maven Central release, after setting up a documentation site, while being in the process of setting up CI on GitHub etc., someone kindly invites me to throw it all away. Please also provide a link where I can read about rules, procedures, restrictions etc., because of all those I want as few as possible. I just want to be able to compile my AspectJ projects with Maven and as a side effect provide other users with the same benefit. Thank you. I know, this situation was nobody's bad intention and sh** happens, but it occurred due to a mess-up (as in negligence) of one or several persons, processes, tools or whatever. IMO, that it developed thus far, is inexcusable. I apologise if you find my response cheeky, but I really need more than a belated invitation. I need good reasons for dumping my investment and giving up freedom I now possess, because I did some work and thus IMO earned it. |
Well, I can try. The other reason why you should join mojohaus is: Some things you did claim are not true:
Another benefit is: It is much easier to attract developers. But the best reason is what you wrote yourself:
So let's make the best out of it, shall we? |
@kriegaex there is nothing to sell here. I'm not a company trying to hire someone... |
For what it's worth, I (as a user) would like to see it merged back to the original repo / group id. I feel more comfortable pulling in dependencies from mojohaus, because at least they have a process (however ineffective it may be) for continuation whenever maintainers quit for whatever reason. With persistence and interest from community members, I believe becoming a maintainer can be achieved. I say this, even though I have my own experience of being denied when I offered to help. Having said that, thank you @kriegaex for doing everything you have done so far. I'll respect your decision, whatever you decide. |
I did not claim anything, I said I was afraid it might be similar to other OSS projects I lately tried to contribute to, where everything is slow and bureaucratic. I just listed some of the things I want to avoid. If Mojohaus is super agile, great. Reality since 2017 for this plugin was different, though. I explained the details already, and they are facts.
That is quite a lot. Also, that page links to development guidelines, then code styles. The guidelines could be much worse, but there is lots of baggage I do not need for this small project.
That offer should have come at least a year ago, better two.
Well, I am one, so is Nick. We were not attracted but disheartened and scared off.
Fine, then don't sell it. IMO, you always have to sell your idea to someone in life, if you want to convince him. If that is asking too much, it means the idea is not so important to the person unwilling to sell it, which is also good to know.
Just like me.
If that happens, you have a responsibility and should actively pursue a hand-over and try to attract new maintainers, either within the existing group or outside of it. That is part of the "O" in "OSS". If the one maintainer of a project is hit by a truck and cannot hand over by herself, the rest of the group should take care of it. A group is not worth much, if it is not a team, i.e. more than the sum of its constituent parts.
At this point, I do not feel like I wish to. I am quite comfortable in the current situation - a situation which I was forced into, please remember.
Are you threatening me to appoint another maintainer and cannibalise my work back into a project that for years was factually dead? Remember, Nick and I wanted to contribute back and were ignored. Now I do not want that anymore. I am reapating what I said to Ben before you entered the discussion:
So my friendly request to you, Olivier, is to help take care of retiring the already dead Mojohaus project, naming this one as the successor. I think, we should all try to avoid a schism and tell the user community where to find the plugin. If Mojohaus refuses to retire the plugin, I would rather become a member there than risk having two plugins which both publish releases, even merging stuff from one another. That would be chaotic. In that case, the greater good would be served better by me becoming a Mojohaus committer, but I would do so reluctantly and not be happy about it at all. Is that what you want, getting new committers by coercion? I don't think so. |
Hi @kriegaex , I know we've failed for some time to add people who want to involve seriously: please help us by joining your forces with the whole team. It's a long run, being together will be easier over years: "If you want to go fast, go alone. If you want to go far, go together" |
It is not an issue with this project, so I am closing this. Feel free to continue adding comments as needed. :-) |
@olamy, I just accepted it, just so as not to make it expire in 7 days. This is not to be mistaken for me agreeing to commit anything there, it was a "just in case" action. |
@kriegaex in this case do not accept if you do not want to participate as this doesn't make sense. |
Because I have not received a clear answer to this yet:
As soon as I know if you guys agree to retire the plugin and avoid a schism of plugins, I know if I see myself forced to commit at Mojohaus or can continue here. And it is not that I do not want to "participate" in anything. I am creating value, maintaining this plugin. I would like to do so on my own terms, because Mojohaus as an organisation has failed. Only if that is not an option, I shall join you. I don't know how much clearer I can be. I am not the person lengthening the debate here. I am just explaining myself, feeling challenged by you guys to explain and justify my decisions in the past and for the future. I want to resolve this issue cleanly and cooperatively and then move on. |
@kriegaex , I'm saying this as a fellow "person who has been disheartened by mojohaus when trying to help"... I think reviving the plugin at mojohaus would be the best option for the users of the plugin. Bumping a version number is always less painful than changing group ids. I know the past couple years have been discouraging for you, Nick, me, and others who have offered to help. (BTW, Nick and I were coworkers when this all started.) I'm personally willing to forgive and look forward. I'd be happy to join mojohaus with you, to maintain this plugin over there. |
@philsttr, I am quite irritated by the Mojohaus people's reactions. Without answering my repeated question if they would accept to retire the upstream repository in favour of this one and without us making a final agreement how to proceed for the benefit of all users, avoiding two active repositories, they started committing again, some changes intersecting with the work I have already done and released here. I think, this is not a particularly cooperative or nice thing to do and certainly not a good start for me as a Mojohaus committer, if I would change my mind after their refusal to retire the plugin. It feels like coercion or someone doing something just to spite me, only because I said that I do not feel like simply giving up everything I did before, handing over everything back to Mojohaus, now that someone deigned to take notice of the work other people have done while nobody at Mojohaus cared, and just complying with their rules. When I asked them why they suddenly revived a dead project instead of retiring it, the answer was: "The project was never dead, just inactive." Seriously? Why now? Nobody started a burst of activity after Nick forked for the first time, simply trying to keep the plugin alive. Now that I have forked it again upon his request, done some serious work and want to give the plugin a permanent home, suddenly there is activity again, without any information or cooperation in my direction. I just noticed by chance. Now they are starting to fix issues which I already fixed here. Now they are setting up GitHub CI, after I already fixed all issues in the workflow contributed by Ben, e.g. an integration test profile activation bug and an up-stream AspectJ problem, including a special bugfix release for both AspectJ itself and this plugin on Maven Central yesterday. While I have green builds for a matrix of 27 variants (3 OSs, 3 JDK versions, 3 JVM types), they only have 12 (3x2x2), having deactivated Eclipse J9 JVM and JDK 16. Of course they are going to fix the same issues I fixed already, because they are smart and experienced developers, knowing much more about Maven plugin development than I do. But why the double work? We both have started activating Dependabot, fixed some Javadoc issues (but in different ways), improved the GitHub build workflow (also in different ways). Why are they starting to work against me instead of with me? I never refused collaboration, already having merged some of Ben's PRs and commented on others. I just said, I wanted to avoid working under the Mojohaus umbrella under the current conditions, because I have a working setup already. Sorry for ranting and complaining. It is just that I do not understand this kind of behaviour. It is like: "We are Mojohaus, we have a name, and you are just a single guy, daring to fork our dead (or inactive, whatever) repository and unwilling to jump the instant we finally react, telling you to jump. Oh, you don't want to jump? Fine, we are wielding the longer lever here, we are just going to starve your little fork out."
Actually, for me there was nothing to forgive to begin with. Other than a sense of disappointment long past, I had no hard feelings. It is OSS business as usual that projects die, get forked and maintained by someone else. Now after the second fork (still respecting the same licence and acknowledging prior work of others), they start saying "it is ours, commit here or be an outcast". I was not angry before, I just did my voluntary work and wanted a clean cut in order to be able to say, "aspectj.dev is where the AJ Maven plugin has its new home". The reaction I received, is what makes me angry now. Now I have something to forgive. When Ben opened this issue, there was nothing. Someone extended a hand to me and asked me to join Mojohaus, telling me they would gracefully accept a refusal. I refused, and this is the "graceful" reaction. Yes, I am pissed now. I was not until yesterday. Why can we not work together? Is it beneath anyone to open a PR here instead of at Mojohaus? This reminds me of how a kid, bored of his own cast away toy, suddenly gets jealous when another kid is picking it up and starting to play with it, tearing it out of her hand, saying "it's mine!". |
@kriegaex I see it as you were successful in getting the project revived, whereas everyone else (including me) in the past couple years has failed. I'm super-happy about that, and you totally rock because of it. It took excessive effort to do so, and there were bumps along the way, but I think the end result of having it revived at mojohaus is a good thing, and in the best interest of its users. That's my main motivation. Because of that, I (as a user) will continue to use the mojohaus version as long as it works in my environments, and continues to be maintained. And I (as a contributor/maintainer) will help over there if need be. It's unfortunate that the revival process was not smooth, but regardless of how things turn out, I'm very thankful for your effort, and the fact that the project is revived and getting attention. |
I this thread I said multiple times that if Mojohaus refuses to retire the plugin, I would rather join than continue here, even though I do not see why that would be more in the interest of all users than continuing together here. Changing a group ID is no more difficult than changing a version number, and it was the reality for all AspectJ users who wanted to work with anything more recent than JDK 8 for years. The final brick in the wall against my participation was the uncooperative way of not answering my question whether Mojohaus agrees to retire and hand over the plugin or not, but just starting to commit. The respectful and gentleman-like way of doing it would have been to
Instead, my work was ignored, and they simply started re-doing it, which displays a lack of respect and which I consider offensive. I started this as a continuation of Nick's, Mojohaus' and Codehaus' work. They just ignored me after I was reluctant to join, and factually forked what I have done. Why this sense of entitlement? Why this rudeness? Why this disrespect? I would always and would still collaborate with all of you, but after my experience with Mojohaus, both in the more distant and recent past, I am afraid to be ignored, disrespected, coerced or even bullied. Nobody does that to me in a project I do in my sparetime and for everyone's benefit. If the opener in what is to become a team effort starts with kicking the balls of the very person who has kept this thing alive and who tried everything to talk to maintainer David Karlsen years ago (I still have the messages in my e-mail archive), in order to continue on Mojohaus and then later on Nick's fork, how do you think that makes me feel? Talk is cheap, repeating "you are welcome" and "we respect your work" in the end is just talk. They never should have started committing, reproducing part of my work over there. No, that's it for me. I am repeating my invitation to all of you, @philsttr, @olamy, @bmarwell and everyone else who wants to collaborate, to continue maintaining the project here under the umbrella of AspectJ.dev instead of Mojohaus. I am no longer asking but now demanding the Mojohaus project to be retired. It would not be the first retired project according to the plugin graveyard, even though those plugins were superseded by the next Apache or Mojohaus project or plugin parameter. Our collaboration here can be just as fruitful as on Mojohaus, and I promise that this repository is not going to be abandoned or ignored. If I ever should be too busy to continue working on it or at least to accept PRs and build releases, I would take care of someone else getting all necessary access rights in order to continue the work. So please, stop forking my continuation of previous work over there and join the effort here. The door is open and there will be no hard feelings. Together we will be better, I am think that as an experienced AspectJ user for many years (see my track record of community work on StackOverflow) and as an AspectJ committer as of late, I could help make sure to keep the plugin in lock-step with AspectJ development. After what just happened, I would rather continue working alone here than join Mojohaus, though. I don't want to abandon my work here and work on a fork instead. (Yes, I am calling it a fork, because Nick's and my work has continued for years and Mojohaus is ignoring it, creating an alternative main branch by merging other PRs instead of continuing based on my main branch.) |
@philsttr, @olamy, @bmarwell, I am watching the activity over there a bit, as you guys are busy solving all the problems with regard to Java 16, Javadoc, PlantUML (you simply removed it, while I solved it, it still works on JDK 8-16 here), recreating prior art. If you want to cannibalise my project here, why don't you at least have the decency to talk to me and merge in my commits, instead of doing the same over there under your own names, as if you came up with those solutions for the first time? Why do people treat each other with such disrespect? |
well this single generated uml diagram has not even been generated here https://www.mojohaus.org/aspectj-maven-plugin/multimodule/multimodule_strategy.html |
For the record, I haven't made any changes or been involved with anything at mojohaus (yet). If it were up to me, your work would be included directly, because I appreciate all the work you have done, and you should get credit. (I can't speak for the others, because I haven't discussed any of this with them yet) I believe all my comments here and behavior have been extremely respectful (I just re-read them to make sure). If I contribute anything at mojohaus, I'll ensure credit is given where credit is due.
I disagree with this, for a few reasons.
These issues mainly just affect projects that haven't upgraded from Java 8 yet. But, honestly, there's still a bunch of those out there. So there is an opportunity to save some effort for people here, and improve the upgrade experience. Anyway, I'm still commenting as a user mostly. I realize that my opinion of wanting to keep the revived work at mojohaus doesn't match yours. But I totally understand your position, and I respect it. |
Yes, because PlantUML needs Graphviz in order to do its job. I fixed that and also fixed the situation that the old, retired plugin didn't work on Java 16 and the new one I found does not work on Java 8. My build configuration installs GraphViz on all OSs and switches between the two plugins. You can see the result here.
Well, I do, because I respect previous commiters' work and wanted to retain it, which I succeeded in doing. Edit: The PNG file generated from the PlantUML diagram should have been part of the Maven site since 2013 when Lennart Jörelid created it. Edit: Maybe it fell victim to the Codehaus to Mojohaus migration and nobody really cared or even knew about it. The recently deleted Travis build config did install GraphViz, though. But maybe the site was created from another location. |
I know that. I just wanted to speak to all three of you, so as not having to write multiple messages. I also said "they" and "Mojohaus" at the beginning of my message, so that does not include you. Only the part where you see yourself as a new Mojohaus member - I see you have been invited to review code there, and you said you prefer to contribute there - is addressed to you, too.
No biggie there. As for discovering the new plugin: This will be a no-brainer, if the plugin is retired and points to this repository. Besides, I also announce new plugin versions - even milestones - on the AspectJ users mailing list and would also put the reference to AspectJ Maven into the main AspectJ GitHub read-me file for Maven users. That should cover it. I have not done so yet, because I wanted to reach an agreement with you guys first. But it seems, we only agree about disagreeing.
Like I explained in (too?) much detail, there was a chance to invite me to Mojohaus. First Olivier said, he didn't wish to sell anything to me when I asked him to. Then he started committing without waiting for an agreement or even informing me. This is not what current or future team mates do, it is just offensive and unprofessional. I expect basic courtesy. Hence my reaction. Cause and effect. |
@olamy, you might be surprised that I wish to consult you about another AspectJ + Maven related matter professionally and personally. It is not about AspectJ Maven, though, so I don't want to spawn another thread here. Is there a private channel where we can talk? You can e.g. reach me under user ID kriegaex in both Gitter and Telegram. I wish to discuss a collaboration in another matter, despite our disagreement concerning this project. |
No worries
My Apache id is olamy so email is easy to find
|
Alex, your changes are partly MIT licensed. We cannot pick them directly without your approval, and this is another reason why I would prefer to not contribute here. About plant uml: yeah, I think no one really needs that. The gh install task takes ages, too. |
What do you mean, MIT-licenced? I am unaware of any licencing changes. I just committed to the same forked repository without consciously changing or adding any licence. Would you mind pointing me to the commits you think are incompatible with regard to licencing? Thanks for your effort. And if this is a reason for you not to contribute here anymore, why did you not say so before? Maybe this can be fixed. To me this sounds a bit as if you are looking for reasons not to contribute. |
Anyway, I got it working, and I like the UML diagram and the fact that it can be changed. Maybe not each build job should generate a site, like it is configured in this repo, because I have not started streamlining yet, like you did at Mojohaus, with a pipeline of dependent build steps (very cool idea, I am still a GH actions noob). On Linux it takes around 15-30 seconds to set up Graphviz. On Windows it takes 1.5-2 minutes, on MacOS 2-3 minutes. You are right, that is slow. But actually, I am OK with it, if it is not done too many times, just like a normal developer would not create a site during every build, but only after she changed something she wants to test or builds a release, wishing to refresh the Maven Site online. |
I just checked: The files containing MIT licences have been there forever, since Codehaus times. Actually, your own first PR here which I accepted - the GitHub build workflow - carries an MIT licence header, which I simply accepted together with your PR. So how is this my fault now? Besides: The original repository contains the exact same MIT-licenced files: Only the build workflow over there suddenly has an Apache licence: But the whole project is still MIT: So how does that fit together? Update: Look at this:
In commit 2ce8d74, I did not change the licence at all, I merely reformatted the file and added a copyright reference to aspectj.dev. The blamed line simple changed "The MIT license" to "MIT License" as is usual today. BTW, later I added historical information which did not even exist before to the licence file, giving credit to all my predecessors: aspectj-maven-plugin/LICENSE.txt Lines 1 to 6 in 91900d2
|
Sorry, my mistake. |
Hi Alex,
it is not hard to get commit access to mojohaus.
If you are interested, just ping here in again: https://groups.google.com/g/mojohaus-dev/c/1_CTFryUqys/m/goEZILj7BQAJ
WDYT?
Best regards,
Ben
The text was updated successfully, but these errors were encountered: