Hi everyone, I’ve read again the full thread and here are some thoughts I have:
1) First, I’d like to state again that when someone wishes to join xwiki-contrib it’s not a neutral act. It means: “I’d like to join a community, develop my extension collaboratively with others and abide by the project rules”. It’s thus normal that we set up some rules even for xwiki-contrib (these rules can be at code level or at the level of the tools used to develop the software). They are needed because as soon as the code is developed by more than 1 person it’s required. If the person doesn’t want to be bothered and is not ready to follow those rules, it’s fine, they don’t need to be in xwiki-contrib because they can still make their extension have the same visibility as others simply by publishing them on http://extensions.xwiki.org (e.x.o). That said, of course, we should still provide development tools that are the simplest possible. Actually this should be true also when developing XWiki “core” so in general I don’t see much differences between both. If it’s hard for contributors it’s also hard for core developers and we might as well fix the issue for everyone. Last point is maintenance: lots of people (including some committers) don’t see the maintenance involved (cleaning up issues, maintaining the infrastructure - monitoring, restarts, upgrades of tools, ensuring the quality of the extensions, fixing documentation mistakes/missing items on e.x.o, etc). In practice there are very few committers who do this maintenance and we shouldn’t overburden them either. Offering too many choices means more burden on infrastructure/maintenance. This is why BTW that forges are usually reticent to offer more than one tool to use for each domain. 2) Seems we have 2 categories of people on this thread: A- those who consider that a single place for issues with the ability to have a global dashboard/search feature is key B- those who consider that it’s more important to offer freedom of issue tracker choice to contributors than the single place to search/view all issues Personally I’m more more in the category A because: - it means less maintenance - I believe global search and a global place for issues is important - I believe JIRA can be configured to be as simple as GH if that’s what we want (more below) 3) I agree that we should try to make our issue creation experience as simple as possible (some ideas below) 4) Note: If we were to allow using GH issues, we would also need to develop a {{ghissue}} macro for release notes on e.x.o similar to the {{jira}} macro. Not a big deal but would need to be done. 5) Sergiu mentioned: “ Supplementing Jean's answer, creating a Jira issue is a lot of work, having to decide what version is affected, the relevant components, labels, environment, priority... A GitHub issue can be just a title, and it takes seconds to create.”. I think this has more to do with how we setup our JIRA: - "having to decide what version is affected”. This is always needed for bugs, be it on JIRA or on GH issues. Also note that on JIRA the “affects version” field is NOT mandatory. We have a best practice of always filling it ourselves but we could change that rule and decide that we should fill it only for bugs for example. - "the relevant components”. Again this is optional in JIRA too. Actually now that JIRA makes it easy in the UI to edit fields (without having to go in edit mode) we could make all optional field not be visible in the Basic Issue Creation Field Scheme (what you see when you click on “Create Issue”). The only possible downside is that we will receive more mails. - “labels, environment”. Again this is optional too in JIRA. BTW in your link (https://github.com/phenotips/phenotips/issues/1116) you seem to also use that on GH issues so I don’t see the difference. - “priority” is also optional. - "A GitHub issue can be just a title, and it takes seconds to create”. And it’s exactly the same for a JIRA issue. All you need to fill in is the “summary" field :) In conclusion: this is not a differentiator between JIRA and GH issues. If we think it’s scary for a user to see the optional fields in the Basic Issue Creation Field Scheme, then let’s remove them from that screen now. 6) Regarding traceability by putting issue reference in commits it’s for us to decide whether we want this as a best practice or not. It does’t depend on the issue tracker we use. For example https://github.com/phenotips/phenotips/issues/1116 shows that it also exists in GH issues. Personally I think that it’s part of the best practices we should keep in the XWiki ecosystem but it could be discussed. Jean feels it a burden apparently. However I don’t know how often Jean has had to fix other people’s issues several months after their commits. It’s really handy and saves you hours when you can quickly link issue and code. Again remember that xwiki-contrib is NOT for solo projects. When you put your project there you want it to be developed collaboratively and join a community. 7) Edy said: "when all he wants to do is to fix a typo in XWiki's UI or align some labels, all through a simple GitHub fork & pull request.”. This is still possible right now. It’s more a question of best practice. Would we want to apply a PR without a JIRA? For a label name change or a typo I’d say definitely. BTW we don’t create jira issues for this either in the “core”… (at least it’s not mandatory, see dev.xwiki.org). In conclusion: - I’m also tempted by the GH issues approach because it’s close to the code. If we were to decide to let contrib projects use GH issues then I would also like to switch the “core” to GH issues. I see the whole xwiki contributing/committers as a single community using the same tools/practices as much as possible. - However, so far I see more drawbacks than pros: global search, global view of all issues, advanced features of jira when they are needed, graphs, stats, single tool to support - I’d be for improving our configuration of JIRA (less fields visible when creating issues, work on creating a template for more easily creating jira projects) - I’d like to keep a high level of quality of the XWiki ecosystem, not just at code level but at also tool level. When people go to our jira they see it’s well organized and well maintained (no missing versions, issues are closed when they should be, issues are sorted, they have labels applied, etc). This is part of what the XWiki project shows to the outside and I’m proud of it and I think when contributors join the project it’s also because they want to learn all this and they’re interested in joining a select community with strong software development rules. Thanks -Vincent On 24 Sep 2014 at 16:43:58, Sergiu Dumitriu ([email protected](mailto:[email protected])) wrote: > The same day that you send this vote, this article is published: > http://opensource.com/business/14/9/community-best-practices-new-era-open-source > > Relevant quote: > > "[...] the contributor had to learn the specific mechanisms for > contributing to their chosen project. Thus, if a contributor worked > across several projects, they needed to learn several different ways of > doing things. > > Now there’s GitHub, and six million people use it. If your project is on > GitHub, it means that no one has to learn special magic tricks to > contribute to your project, because every project on GitHub works in > basically the same way. In the time it used to take a user just to > figure out a project’s contribution mechanisms, a user can now fork a > repo, make a fix, and submit a pull request. The default instinct of new > developers is no longer “suggest a change”—the instinct is now “fix the > problem”. > > > I've been using GitHub issues for almost 3 years now, and I'm pretty > happy with those. Sometimes I miss the extra features of Jira, but I > also like the simplicity of this simple issues tracker. Supplementing > Jean's answer, creating a Jira issue is a lot of work, having to decide > what version is affected, the relevant components, labels, environment, > priority... A GitHub issue can be just a title, and it takes seconds to > create. > > Most of the arguments in favor of Jira are about aiding the XWiki > overlords: how do we measure ALL the activity across all projects? How > is that relevant for a simple contributor that just wants to scratch an > itch? We should make it as easy as possible to contribute. > > > Another argument for GH Issues is locality: there's only one place for > code, issues, roadmap, and discussions. With GH Wiki, documentation as well. > > > So, I think there are good reasons why someone would prefer having > everything on GitHub, we shouldn't enforce what we thing is best on > someone else's project. > > On 09/23/2014 09:22 AM, [email protected] wrote: > > Hi everyone, > > > > ATM the rule we have for contrib projects is to use JIRA (see > > http://contrib.xwiki.org/xwiki/bin/view/Main/WebHome#HHostingtools) > > > > I’ve heard that some people have been proposing using other trackers. > > > > So I’d like to poll your opinion on the following alternatives: > > > > Option A: all projects use JIRA > > =============================== > > > > This is the current option in use. > > > > Pros: > > * A single place for people to view and search for issues in the XWiki > > Ecosystem > > > > Cons: > > * For XWiki admins, creating a new JIRA project takes 5 minutes > > > > Option B: all projects use GitHub issues > > ======================================== > > > > Pros: > > * Simple to set up for admins (hosted by GitHub) > > * Simple to use (too simple sometimes?) > > > > Cons: > > * No single place to search all issues related to XWiki (both JIRA + GitHub) > > * No single place to report JIRA issues > > * Tied to the SCM choice. When we stop using Git as our SCM and move to the > > next SCM tool we’ll have to import all issues (see > > https://marketplace.atlassian.com/plugins/com.atlassian.jira.plugins.jira-importers-github-plugin/versions) > > * Need to implement feature on extensions.xwiki.org to add a link to the > > issue tracker for each extension > > > > Option C: let each project decide > > ================================= > > > > Pros: > > * Simple to set up for admins when project decides on GitHub > > > > Cons: > > * No single place to search all issues related to XWiki (both JIRA + GitHub) > > * No single place to report JIRA issues > > * Tied to the SCM choice. When we stop using Git as our SCM and move to the > > next SCM tool we’ll have to import all issues (see > > https://marketplace.atlassian.com/plugins/com.atlassian.jira.plugins.jira-importers-github-plugin/versions) > > * Need to implement feature on extensions.xwiki.org to add a link to the > > issue tracker for each extension > > > > Option D: XWiki Task Manager > > ============================ > > > > http://extensions.xwiki.org/xwiki/bin/view/Extension/Task+Manager+Application > > > > Pros: > > * Eat our own dog food. > > * Forces us to improve this extension > > > > Cons: > > * Pressure to fix bugs > > * Increases volume of data on xwiki.org and thus impact performances > > * Maintenance cost: More work when upgrading xwiki.org > > * No single place to search all issues related to XWiki (both JIRA + GitHub) > > * No single place to report JIRA issues > > * Need to implement feature on extensions.xwiki.org to add a link to the > > issue tracker for each extension > > > > WDYT? Other options? > > > > Personally and based on all pros/cons I think the best ATM is really Option > > A. And if we really want, it’s possible to improve the cons by doing a bit > > of java coding: > > https://developer.atlassian.com/display/JIRADEV/Creating+a+Project+Template > > > > Thanks > > -Vincent > > > > > -- > Sergiu Dumitriu > http://purl.org/net/sergiu > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

