GitHub Discussions Beta
github.com
github.com
I think they are doing great in terms of performance and UI, it's hard to resist the convenience of having everything linked together in a coherent way. But this will probably backfire in the future :/
SO is literally anti-discussion, the whole point is it is about questions and answers, not discussion, because finding answers to questions on forums was a nightmare. No one wants to read through a thread of context to maybe find an answer.
That isn't to say discussion isn't useful or valuable, it absolutely is, it is just a completely different thing. This is competing with Discourse, not SO.
Accepting an answer is an attempt, but without the moderation, editing, voting, duplicate closing and so on from SO, the quality and ease of finding answers won't be there.
I'm sure plenty of people remember trying to find answers through forums, and it was a nightmare. The thread might not actually have an answer in it, and even if you get pointed to an answer, it'll often need context from the rest of the thread, it might be out of date, or completely wrong.
To put it simply: there is a reason why people use SO almost exclusively for Q&A, and there is a reason people still use forums and stuff as well. Discussion and Q&A have different goals and conflating or combining them leads to pain for users.
I am a long time user of SE (questions and answers alike) and I go to reddit for questions which are more vague (because I do not know where to go) or the ones which invite discussions.
In any case the act of composing a question according to the guide has answered many more questions than I've actually posted -- some due to the rubber-ducking, others via the "check out these questions" feature.
(This is all orthogonal to the recent issues wrt moderators and community managers)
I used to answer people's questions. These days I'll go to a section like Node.js and frankly anyone who asked a good, focused question has been answered and you're left sifting through the low-tier questions of people posting an unformatted 1000-line code snippet with "it doesn't work".
Seems to be working pretty well.
It may seem beginner hostile sometimes, but in practice it's mostly: you can't have a personal approach to everyone when looking through hundreds of messages.
If you don't, there's no real harm in leaving bad questions open until there is someone else in the community willing to help out.
I find myself looking at closed questions wanting to help but unable to too many times.
Type in my programming question, go to the page, scroll down and see a wide variety of idiomatic, well-researched and thoroughly critiqued solutions, very readable, ready to copy, and with the concepts spelled out to study up on.
*Just found the answer: https://developer.github.com/v3/issues/
Commit comments are metadata. Tags are metadata. Why isn't there a general-purpose metadata plumbing so we can attach issues, merge and commit discussions, and wikis, in a portable way?
No, being able to export from one centralized repository and import into another isn't good enough.
https://gregoryszorc.com/blog/2020/01/07/problems-with-pull-...
At least for Patreon, they have a large enough user base, this won't hit them particularly hard.
Of course if enough people start using GitHub Sponsors, end-users may make it a expectation/demand to be able to sponsor their favourite projects there if they are going to bother (much like users today won’t bother to sign up for a Patreon-competitor).
And then it might start having a noticeable effect.
That said, anecdotally speaking, today only one of my Patreon pledges are for software projects, and most are for youtubers.
If that holds up for other people too, I suspect Patreon will be fine.
I don't like having my revenue generating activities linked to a social network for programmers. It seems like a terrible mix. I am not social at all. I know programming has now become a "social" thing as it is in the mainstream, but I prefer the days of it being an obscure world where you had to join some kind of mailing list.
I've actually wondered whether that feature (the Kanban style boards) will end up going away, as it seem vastly underused by the overall community in comparison to Issues/Milestones/Wikis.
Go to a random substantial repo and click on the Projects tab. It's almost certain that there'll be nothing there.
If the issue is reviewing the code, stale reviews for code that was pushed over will be marked as stale.
When you've left a review, you also generally get a “View Changes” button in the conversation that takes you to the changes since you last viewed, if new changes are pushed. The issue with this particular link is it tends to be ephemeral.
And while not particularly ergonomic you can have PR against other PR since forever.
Github is built by devs for devs and has tons of hidden gems scattered in there. Do read their shortcuts help, blog and other dev sources and you might find tools for a lot of the task you can think of.
> force-pushed the aojea:affinity branch from 8eab3f7 to ee626e7 yesterday [0]
Where the "force pushed" links to a pretty decent UI [1], but it will include a bunch of non-import information if the person rebased and force pushed, which is a common reason for force pushing.
You can see that in this [2] long lived Kubernetes PR that was rebased, the resulting "helpful" link shows me 2094 changed files [3]. In a tool like Gerrit or Phabricator this is automatically handled and it would basically ignore this operation unless the rebase changed the code being reviewed.
0 - https://github.com/kubernetes/kubernetes/pull/88409
1 - https://github.com/kubernetes/kubernetes/compare/8eab3f73163...
2 - https://github.com/kubernetes/kubernetes/pull/85000
3 - https://github.com/kubernetes/kubernetes/compare/375873cb532...
The crucial problem with code review on GitHub is that it's 100% dependent on Git to store the history of a PR. This too closely couples what a developer does locally on their machine to the code review process. This in turn means that force pushing drops the history of their "Checks" system, which annotate the PR with CI job an lint/test results. It also means junk commits on PRs make the whole review process more difficult. The app Reviewable [2] works with GitHub and fixes some of these issues if you want to give it a try.
0 - https://twitter.com/natfriedman/status/1170804894241972224
On my Thunderbird I still follow some usenet forums and it is so much clearer and quicker with a tree view to see who has replied at what point in the thread. Poring through reams of quoted replies just to find where in the thread the answer comes doesn't cut it.
I have given these models lots of thought and have come to the conclusion that the success/failure of hierarchical conversations is determined solely by the presentation. Common mailing lists and email UIs leave the most to be desired, while HN, reddit, sbnation community sites, etc show a path forward. But nobody has implemented the view properly enough to let you see the forest and the trees at the same time (yet).
Internet messages (Usenet, email) already work that way. If you want to reply to multiple messages, this is easily possible.
Most users are not familiar with it because the widely implemented threading algorithm prunes the graph into a tree for display purposes. https://ddg.gg/?q=jwz+email+threading
HN comments are a DAG. DAGs are branchy, which is the problem. It seems like you want to merge or rebase the two comments and then reply with a new node pointing to the last of them.
The branches could come back together again.
Come on don’t be pedantic you know what I mean - I mean a DAG that is not also a tree - so using the merging property of a DAG.
If HN were a DAG then I could make this reply to your comment and someone else’s on another part of the discussion at the same time.
> merge or rebase
These are source control terms - I’m not sure how they apply here.
Git is a DAG too.
Else you have a situation like most forums (phpbb, vbulletin, xenforo, etc) where tree-view is useless and unused because only a fraction of the posts have any sort of parent relationship. Besides, the idea of tree-view never really caught on in those fuller-fledged forums I listed as you could be quoting any number of people and have more than a 1:1 argument like you're forced to on Reddit/HN.
In other words, I don't think a forum lacks a tree-view when it's also lacking the entire reply paradigm.
4chan + 4chanx would like to have a word!
Uhm... have you ever heard of a little-known site called "Hackernews"?
This means being able to expand and collapse the tree easily, as well as identify quickly nodes that have replies.
On a typical Usenet reader, new replies are normally highlighted, and read nodes/subthreads can be quickly collapsed, often by default.
Neither of those are possible with HN, Reddit or typical NodeBB sites where every post is displayed whether read or not.
Also it's often unclear what the policy is on raising questions in the issues tracker (smaller projects are usually fine with it, bigger projects get overwhelmed and don't want it). This will make it a much nicer separation for everyone and keep the issues tracker minimal.
https://groups.google.com/forum/m/#!forum/golang-nuts
It's a matter of what the settings are on the group (the group admins get to decide visibility settings).
(We also offer it to open source communities for free as well: https://aether.app/email)
Hmm, I'm not completely convinced it would (but I haven't used it, so take this opinion with a grain of salt). Responding to rich text emails is somewhat cumbersome in most mail apps, because there's a tendency for formatting to get all mixed up and it makes simple things like quoting nontrivial.
It's an ongoing battle but not an intractable one. It's not perfect, but we've gotten it to pretty good already. It definitely survives being quoted and otherwise chomped on by Gmail, Mail.app, Outlook, iOS and Android mail clients, which are our five main test cases.
It seems to me the real thing open source projects ought to have is control over their data / autonomy - having some service control your forums and publish the code they use to run them doesn't seem like much of an advantage, if you can't apply patches to their system. For instance, while it helps Debian that their GitLab instance salsa.debian.org is open source, how does it help a non-Debian-affiliated project that happens to use that service?
So there are two separate things you could be interested in. One is, am I running my own service? Most people don't want to be 24/7 volunteer sysadmins, it turns out. (A few do, like the people who run salsa.debian.org: more power to them. A few open source projects can pay sysadmins, which also solves the problem.)
The other question is, can I get my project's data out of someone else's service if I want to migrate? It turns out that you can do that for many closed-source forums.
Besides, I’m in too many Slacks already. I really don’t need one Slack account for each project I want to follow.
How is that different from, say, IRC? How is it relevant that Slack is closed-source?
If you want to run an open-source project on Slack, run a logger that dumps things to a publicly Googleable archive - same as you would if you were running the project on IRC or on a mailing list or whatever.
If Slack says that running a logger is a violation of their terms, then that's a reason to avoid Slack in particular - but not with closed-source services in general. It's a problem with services run by someone else, open-source or not. And in fact, Freenode (which runs an open-source ircd) has a policy that if you log, you must say so clearly in the topic and you must respond to requests to remove portions of logs.
To be clear, I think that if a project says, out of idealism we will only use FLOSS forums, and we don't care about meaningful control over it, we just want to encourage other people to run FLOSS to promote the movement, that's totally reasonable. But if your concern about non-FLOSS platforms is practical and not philosophical, I'd argue what you actually care about is control over the platform.
> Besides, I’m in too many Slacks already.
I have this problem too, but it's not really about whether Slack is open-source or not, it's about the specific software. (Also, from experience, being in over a hundred channels in irssi is actually less manageable....)
Fun fact: if your session is "expired" but the cookie says you have an account, it forces you to log in, even if the group is public. Workaround: incognito mode.
I wonder what will be the reduction in stackoverflow due to this ?
One request - have a global "discussions search" . Repos are interconnected to each other. I don't want to have to restrict my topic search to one repository's discussions
Having a place to do this right next to the source code would be welcome (as long as there is global search as well)
E.g. https://kubernetes.io/docs/tasks/debug-application-cluster/t...
Stack Overflow
Someone else from the community may have already asked a similar question or may be able to help with your problem. The Kubernetes team will also monitor posts tagged Kubernetes. If there aren’t any existing questions that help, please ask a new one!
In general, you aren't going to be able to discuss something on SO, and people aren't going to find answers in discussion boards because they don't make it easy to find those answers.
Here's the thing - I would bet there's an overwhelming majority of users, who "discuss" and ask on GitHub issues anyway. And half the job of repo owners is to close such issues.
So it's not like the natural behaviour of users is to go to stackoverflow for questions/discussions anyway. This just channels existing behaviour
I've seen some teams manage an 'issues' repository solely with tickets that are later linked to the individual repos' issues and PRs. It's quite a mess and GH does not seem to offer issue statistics and comprehensive query capabilities to manage issues.
Has anyone worked with an issue management system (not JIRA) that would be working across 100+ delivery teams and have decent integration with GH/GHE to show PR progress, issue status, releases, etc.? Any experience with FB's https://phacility.com/phabricator/ for example?
My advise would be to deploy: Phabricator (issues, code review, wiki), Buildkite (CI - with your own AWS runners), gitolite (repo hosting).
I like how quickly GitHub is shipping new features now, compared to earlier: the mobile app, Actions, Sponsors, security scanning, etc.
That said, I was a little disappointed that Discussions is essentially identical to Issues :(.
While I can't pinpoint any specific issues I've had with Issues for discussions, I was hoping GitHub found, and found solutions for, pain points that users didn't know they had with Issues.
Reading this HN thread, I got the impression GitHub actually did just copy/paste Issues into a new tab, as a commenter mentioned, a belief that was backed up by a cursory look at Next.js's Discussions.
Now I see that's not fully the case.
Hopefully this will reduce the issue spam problem.
How do we actually find out about GitHub Discussions and opting-into it? Or did GitHub only enrol one company into the beta?
https://spectrum.chat/spectrum/general/spectrum-is-joining-g...
Maybe GitHub acquired Spectrum with the intention of slowly migrating its userbase over.
I wasn't able to find GitHub page covering this feature, so the link to to Next.js's repo discussions.
> Some projects already do this via labels.
That was an illogical hack do to limitations. Good on Github for identifying and fixing that.
Compared to other community forums it's distinguishing feature will be referencing commits and issues. I'd be interested to see how many projects actually use this feature.
[0]: https://github.blog/2017-11-20-introducing-team-discussions/
That makes me question ( because they are Microsoft), What happens when they add everything inside Github and then they don't like it? Will they have an opportunity of closing Github? Switching it to something inside their office tool? May be office suite for developers? Combine Visual Studio with Github and discussion boards and todo lists and CI tools... ???
I'm the kind of developer/product maker who likes to use a diversity of products. That feeds my creativity and makes me think differently.. I don't want to lose that one.
Anyways...
I wanna ask something different, What do you think if StackOverFlow adds git hosting? Will it work?
Curious to know if they feel they could iterate faster new features for the UI if it were an SPA.
Some companies start API first or mobile app first, which makes SPAs much more likely.
This seems like it'll be great for getting Q&A and random thoughts out of issues, but it won't replace broader boards and lists.
(and not just a team integration please... :D)
https://spectrum.chat/spectrum/general/spectrum-is-joining-g...
But I would caution against integrating too many tools into GitHub. As a user, I like that GitHub errors on the side of saying no. You don't want to end up with a bloated product.
Friendly aside: the expression is "err(s) on the side of..."