Welcome
Welcome to the brainstorming group for the 2014 Drupal.org roadmap! This group is to help the Drupal.org Software Working Group gather community input into the 2014 budget and plans for Drupal.org improvements. Please read the announcement for more background/details.
Latest ideas Most popular Recent Comments
To participate:
- Review the list of submitted proposals and "vote up" and/or comment on ones that speak to you.
- If you don't see your idea reflected, propose your own ideas using the idea template.
- While we want to hear about everything that's on your mind, we're especially interested in small, but impactful ideas.
- Proposals are wiki pages, so feel free to provide additional details in other peoples' proposals; think of them as "issue summaries" for ideas, so keep them neutral.
Voting/feedback will considered until 00:00 GMT on September 6, 2013, in order to give us ample time to make a proposal (which the results here will be a part of) for the Drupal Association Board Retreat prior to DrupalCon Prague. Thanks for participating!
Recent comments
Would this require drupal.org and gitbub.com user accounts
It seems like this would require anyone you wanted even to post a comment on issue thread or post support request to make a github.com account (if we move the issue queues also).
Is that true? Would there be ways around this?
So true
"Switching to Github thus reduces a pretty major "Drupalism," which reduces the barrier of contribution for a critical mass of developers."
If Drupal is oriented around
If Drupal is oriented around not re-inventing the wheel(i.e., adding symphony) then why are we doing just that with git.drupalcode.org....
It's a distribution issue.
It's a distribution issue. Since the project would be packaged and distributed on d.o. anyway the licensing issues stay unfortunately.
so hard to stay off my soap box
One correction
That looks pretty good overall. There's lots of other factors in the spreadsheet but I think these are the big points of contention.
One correction I'd make is the swarming-forking. There's nothing at all that stops me from working in my own little sandbox until a branch is perfect, then posting a 200 K patch right now. Sometimes I do that, sometimes I don't. There's also nothing at all that says you can't file a PR on github with in-progress work. People do that all the time to get early reviews. There is no difference in visibility between the two tools; it's all down to how people decide to use them.
What is different is that the process for 3-4 people to collaborate on a single issue is different with GitHub. On Drupal.org if I post a patch, leave it for 2 days, it gets stale (fast moving core), dawehner can come by and reroll it for me without my involvement at all. (He does that for me frequently, because he's awesome.) On GitHub, if I file a PR, let it sit for 2 days, and then dawehner comes by to update it, he has to file a PR against the branch in my sandbox that I have to merge, after which it becomes part of the PR against core. If I am taking 3 weeks off of core for some reason, the issue is therefore stalled unless dawehner takes my branch and files a NEW PR against core, closing the old one.
PRs, in their current form, tend to favor a single "champion" for an issue with 0 or more people backing him up via nested PRs. That works well when one person is really driving an issue, which is often but not always.
If you have a lot of collaborative back and forth, I'd need to give dawehner access to my repo so we could just both push to the same branch and be done with it. (This is actually what we're doing now for the HtmlPage issue, since I'm very liberal with commit access to the WSCCI sandbox.)
D.o issues, in their current form, tend to favor "serial drive-by" issues. That is, I'll do one patch, dawehner will do a second, timplunkett will do a 3rd, etc. until it is done. That works well when you don't have a lot of back-and-forth between people, which is often but not always.
If you have a lot of collaborative back and forth, unless you manually setup a shared sandbox branch (as you'd do with GitHub) you basically start over with each patch that's posted, and never maintain any history, ever. I have a lot of issues where I've had 3, 4, or 5 local branches that contain just one commit for the latest patch from an issue plus one commit for my changes. Manually incorporating interdiffs to keep a meaningful branch history is not worth the effort at all.
I don't think either one wins in this case. Both models have places where they break down severely. Note also "in their current form" in both cases, as both could probably be improved or worked around in some way.
no more licensing issues ?
one thing that would make me happy is just the idea of being able to get around the licensing issues & beeing able to use CC 3.0 graphics in our themes.
This might be a small thing but it drives me nuts that i cant use cc3.0 opensource icon libraries in a theme cause of the goddamn GPL2 on d.o
... on the other hand thats a policy issue - argh my brain is fried after reading all of these comments
No, that's not a part of the
Please update the issue summary as it is not clear that leaving historical data is the intent. I read through the article referenced for why Ubuntu made their move and a major driver for that was the outdated content returning dated search results.
I'll concede that point and retract my previous statement.
With this proprosal what exactly are we looking to do? Here is how I currently read it based on the summary and comments you've made:
Does this sound correct? Did I miss anything? I am in favor of doing this by the way. I'm even ok with deleting or unpublishing the content from the old forums because it will only become more dated. I'm just trying to clarify what the steps to accomplish this is because it is a little muddy right now.
Btw, sorry for everyone getting repeat e-mail notifications...
...but I'm going to continue editing that comment for accuracy, so feel free to add a mail rule to ignore me. :D
Not sure
http://developer.github.com/
I don't see releases mentioned there, but if we ask for an API for them I doubt they'd be against adding it. It's probably on their internal todo list anyway.
If we're making releases on Drupal.org instead of letting Github do them (although I don't know why at that point), then we'd just be detecting a push of a new tag and taking action based on that. That's totally doable:
http://developer.github.com/v3/git/tags/
http://developer.github.com/v3/repos/hooks/
GitHub's API is fairly well designed, I think, so if it doesn't exist yet writing a Guzzle Service Description for it so that we can build logic around it should be dead simple:
http://guzzlephp.org/webservice-client/guzzle-service-descriptions.html
Ok, here is my current summary of the discussion/research so far
First, thanks so much to everyone who has participated here, and has helped flesh out Ye Olde Spreadsheet of DOoOoOoOm. I feel like we have made a ton of progress here in identifying the actual pain points on Drupal.org, what makes Github so compelling, and what concerns are about moving our tools off-site.
Here's my current read of the discussion/research so far. Please help correct this where it is wrong; the D.o SWG has a meeting tonight and I'd like to provide an update, and I'd like to ensure that update is accurate.
Pro-Github
Github has a few key things going for it that are driving votes to this proposal. They are:
Github also offers awesome code review tools; highlight a line, comment on it in-place, comments on outdated diffs get automatically collapsed from view, thus cutting down dramatically on 100+ reply issues. Drupal.org has Dreditor, a browser add-on which tries very hard to replicate some of this, but it's not really nearly the same.
The other thing I really like about this is we'd no longer need to mark things "needs work" for silly minutia like whitespace or grammar; the reviewer could just fix it up as they go. This would be a huge shot in the arm, morale-wise to core developers, and probably others.
Pro-Drupal.org
While Drupal.org can feel old and crufty at times, there actually are a number of important benefits that it offers us, namely:
By contrast, the Github collaboration model is built around individuals working in their own sandboxes, and only notifying people there are things going on when it's ready to merge. Lack of visibility into changes coming "down the pipe," as well as the risk of duplicate work happening is more likely here. It's also my understanding that people who've started PRs need to add co-collaborators one by one, which greatly works against "swarming" efforts. Because Drupal.org is great at...
My understanding is that on Github, there is no concept of "community tagging," and rather all of these types of "issue metadata" need to be managed by the repo maintainers themselves. And, because there's no way to delegate people with permissions to only update issue statuses and not also the code like there is on Drupal.org, doing so requires limiting the list of helpers to those who you trust not to commit wanton code to the repo without review (either purposely or accidentally).
As a result in the short-fall of Github's issue queue/workflow features, this original proposal was written around the idea of only using Github for the code management, and not the issue queue. But doing this seems to negate a lot of the benefits of the proposal in the first place. :\ This is something we can likely work with Github on (especially if we become a paying customer of theirs), but it's worthy of note.
I know there are other many, many other pieces of feedback that are not reflected here, but I'm trying really hard to "bubble up" the biggest ones. Do you feel this captures them? If not, let me know!
Just mulling this over, could
Just mulling this over, could we make an exception to the hosting GPL code on the repo for this project and state that exception on the project page saying you cannot use this theme for anything but d.o? And then use a modified license in a license.txt file in the repo stating the same? Of course the project could never have any releases associated with it including dev releases but if it was at least in a GIT repo it would make it much easier to contribute.
I'll see if I can get my intellectual property attorney friend to take a look and see what implications he thinks this could have.
There's something very
There's something very similar (also trello-like) for GitHub.
The issue tracker has been
The issue tracker has been the main pain point that I've heard about. I don't think it's unreasonable to ask Github to add some additional goodies to their issue tracker, but since they don't really have managers, what timeframe would that happen on? Is it a matter of convincing some specific person that these changes would be beneficial? (scor noted that there's a previous drupal contributor that now works at Github, so maybe he'd be a good person to ask: https://groups.drupal.org/node/313068#comment-953993)
The other thing is that we could potentially build a more full-featured issue tracker on top of Github, a la http://www.bitbucketcards.com/ (I realize that's for Bitbucket, but you get the idea - it's a 3rd party service that enhances the existing functionality of Bitbucket's issue tracker)
I just wanted to point out
I just wanted to point out that Github has the capability of creating releases, and if we can use it, that's great. If it doesn't make sense, that's fine too.
How's the API integration for releases?
Could we trigger these things to happen on Drupal.org using Github's REST API?
You have posted this point
You have posted this point several places in this thread. My response is here: https://groups.drupal.org/node/313083#comment-955518
You have posted this point
You have posted this point several places in this thread. My response is here: https://groups.drupal.org/node/313083#comment-955518
Thanks for the insight to how
Thanks for the insight to how Github works for the Symfony community Lukas.
What would be interesting to know in addition is what kind of users it is that participate in the Symfony issue queues. Here on d.o for example there are just under 30k users that has configured git access, but there are almost one million active accounts. Thus we have a lot of users with other main experiences and roles than developing that are participating in the issue queues.
Yes, our issue queues are often quite noisy as a result and sometimes the discussion are, shall we say, quite passionate about things. And sure there is bikeshedding going on too.
For me that is a price well worth paying for the added value all these users, me included I hope, brings to the community. Particularly as Drupal over the years have moved to a more UI-driven sitebuilding platform feedback from and testing by users are invaluable.
There are also many users, again me included, that have discovered they also wanted to give coding a go thanks to this. While my own skills are still very basic and at novice lever, there are many others who now are respected contrib developers and project maintainers.
Thus far in this discussion I haven't yet been convinced that will be possible to retain after a move to Github. I think the risk is quite huge we will lose most of them in the move.
I notice you have been a member here on d.o for 2+ years so maybe you can shed some light into this for me. Would be greatly appreciated.
So is it TRUE that by Drupal
Nope, but just because we could, doesn't mean that we should.
Bringing the forum module to feature parity with a modern engine like Stack Exchange would require thousands of man hours, and all we'd accomplish would be reinventing the wheel.
That time could be spent a lot better, and I think you'd be hard pressed to find volunteers for that kind of undertaking. Forum is one of the least-loved modules in Drupal core and has remained virtually unchanged since Drupal 4.5 or so.
What is being proposed here
No, that's not a part of the suggestion at all. We can (and probably shoud) keep the old forum content as a read-only historical archive.
That's nonsense. People don't really care what the domain name is of the place they're getting help. It's not like everything in the Drupal community happens on Drupal.org – there's also IRC, Twitter, mailing lists, etc.
Weasel words. Don't do FUD.
Yeah, that's also a huge problem with the current forums. And the exact purpose of the Stack Exchange engine is to enable good community moderation. They've spent several man-years building and tuning a great system for that. No way we could replicate that.