WordPress.org

Making WordPress.org

Opened 3 months ago

Last modified 2 months ago

#3937 new enhancement

Feature request: Add standardized field for git/svn repo on plugin pages

Reported by: thedonquixotic Owned by:
Milestone: Priority: normal
Component: Plugin Directory Keywords:
Cc:

Description

Lots of wordpress plugins are open source, but I often don't know that unless I decide to actually search for "{{plugin-name}} github" on google. This is a problem. And it creates a huge disconnect between the discussion and maintenance of open source projects.

It's a far too common site on the wordpress plugin repo. Some dev needs to solve a problem, they do a little bit of work, and then upload it, and then it goes untouched for half a decade. Does the plugin still work? Maybe? Who knows? I can see if a plugin has been updated recently but that doesn't mean it doesn't work. And it may have a lot of installs, or maybe not! But neither of those is a particularly good indicator whether or not a plugin will work or how well it will work.

Most open sourced projects are hosted on github etc and developers have much better and specialized tools to directly addressing technical bug reports etc through those tools. The code and the issue report are near each other, easily linked etc. And often times with an open source project the relationship between the dev and the people using it isn't the same "customer/service provider" relationship which the WP plugin support forums presuppose. A github issue is someone logging a complaint but it's also an invitation for other users to help, or even just the person logging the bug being able to document their process, make a fix, and then pull request it into the project.

WordPress forums simply aren’t built with an open source issue tracker in mind. WordPress itself doesn’t use the wordpress forums to discuss the majority of the issues for projects they’re working on. Instead teams like the Gutenburg team etc use github and discuss issues related to technical issues primarily through github.

It should be standard practice that any wordpress theme or plugin that is open sourced to have a dedicated field to link to their repo. Yes, they can always do that through their project description etc, but it’s about positioning and prioritizing open access to code. Too often plugins are made by a developer, then abandoned. Some other users might take up the torch and continue to develop it, if there was a greater amount of access and transparency in the way that the code repo was linked to the plugin repo.

Change History (12)

#1 follow-up: @joyously
3 months ago

I think you have a strange definition of open source. All plugins and themes in the repository are open source. You can read the source, you can copy it, you can modify it, you can distribute it.

And any plugin or theme author can put a link to their development repository in the readme if they want to.

#2 in reply to: ↑ 1 @thedonquixotic
3 months ago

Replying to joyously:

I think you have a strange definition of open source. All plugins and themes in the repository are open source. You can read the source, you can copy it, you can modify it, you can distribute it.

And any plugin or theme author can put a link to their development repository in the readme if they want to.

Not sure what you mean about my definition, since the definition I'm using is the one you're also using.

Also, I specifically address the "they can just put a link in the description" suggestion in my original ticket. Yes, they can. They can also share a list of their favorite shell commands or write a poem or whatever, but that doesn't mean that's what the structure of the medium is built for. Having a dedicated field does a couple of things:

  1. Increases the immediate visibility of the repo by giving it a standardized location that users can rely on being in the same place on each plugin page.
  1. By explicitly including the field as an option it encourages developers to share this link.
Last edited 3 months ago by thedonquixotic (previous) (diff)

#3 @Ipstenu
3 months ago

All plugins hosted on WordPress.org are open source and all have the same SVN URL format: http://plugins.svn.wordpress.org/akismet/

But I think you meant that not all plugins have public development repositories that everyone can find.

The reason we don't allow that is people abused 'hidden' links like the donation link. They'd put in URL shorteners and send people to spam pages :(

The only way it'd work is if we added in code to whitelist what URLs showed up.

#4 follow-up: @joyously
3 months ago

Lots of wordpress plugins are open source,

I'm saying ALL of them are.

WordPress forums simply aren’t built with an open source issue tracker in mind.

Nope. It's a release repository, not development. The forums are about community help, not testing and fixing plugin code.

any wordpress theme or plugin that is open sourced to have a dedicated field to link to their repo.

They are ALL open source. It is a minority of users that would have a public repo, and a minority of WordPress users that would want to see another repo of the code that is already in this repo.

The WP repo is not there for authors to be seen. It's a place to store some code so other users can use it.

Yeah, what Mika said.

#5 in reply to: ↑ 4 @thedonquixotic
3 months ago

Replying to Ipstenu:

All plugins hosted on WordPress.org are open source and all have the same SVN URL format: http://plugins.svn.wordpress.org/akismet/

But I think you meant that not all plugins have public development repositories that everyone can find.

The reason we don't allow that is people abused 'hidden' links like the donation link. They'd put in URL shorteners and send people to spam pages :(

The only way it'd work is if we added in code to whitelist what URLs showed up.

Ah that makes sense. Well, considering overwhelming popularity of github, bitbucket, and gitlab, it seems to me that there's basically 3 urls to whitelist yeah? According to this link Github alone makes up about 50% of the publicly hosted repos out there. https://www.datanyze.com/market-share/source-code-management/github-market-share (that's a pretty rough estimate but still, Github is the single largest repository for code on Earth.)

I mean, the wordpress org can do whatever they want, I'm just sharing feedback, but I think there's a pretty strong argument for better linking the development/maintenance of code and the public face of that code.

I'm also curious how Microsoft manages that issue with their vscode extension marketplace. They have a dedicated repo link, and as far as I can tell it's not filtered. That might just be a difference in the dev community. WP has had problems with spammers etc as I understand it.

Replying to joyously:

WordPress forums simply aren’t built with an open source issue tracker in mind.

Nope. It's a release repository, not development. The forums are about community help, not testing and fixing plugin code.

Right, that's kind of my point though....

any wordpress theme or plugin that is open sourced to have a dedicated field to link to their repo.

They are ALL open source. It is a minority of users that would have a public repo, and a minority of WordPress users that would want to see another repo of the code that is already in this repo.

All the wordpress themes/plugins in the wordpress.org repo are, yes. I was not sure that was true, but since I knew of closed source themes/plugins out there I was hedging my language.

Also not sure you can prove that it's a minority of users who would want access to a public repo and issue tracker. Considering there is 1,368 issues open on the Gutenberg github issue tracker, I think there's a healthy appetite for that engagement.

The WP repo is not there for authors to be seen. It's a place to store some code so other users can use it.

Not really sure what this means, as I don't think I've said anything about authors being seen?

#6 @Ipstenu
3 months ago

All the wordpress themes/plugins in the wordpress.org repo are, yes. I was not sure that was true, but since I knew of closed source themes/plugins out there I was hedging my language.

Yeah, we don't have control over what people do outside .org, and meta trac is ONLY for plugins hosted on .org. So Joy's point of confusion probably came from that :D

The Directory is for users to find code to use, not for developers to find code to help out on, which means we do aim it for users and the data they need. Generally that's not going to be a public dev repo.

We probably could pull up some data to see how many people use GitHub exit links from plugins, but in general, Joy's right. It's not something the majority of users are looking for. They want to find a plugin to use and use it.

I'm also curious how Microsoft manages that issue with their vscode extension marketplace. They have a dedicated repo link, and as far as I can tell it's not filtered. That might just be a difference in the dev community. WP has had problems with spammers etc as I understand it.

I bet you're right with that guess :( Also they have the following requirement to make the extension public:

You (or your company) owns, develops, and is licensed to distribute and advertise the integration or extension

So they've got a license and that probably blocks most evil before it gets far.

#7 @thedonquixotic
3 months ago

Fair enough. I just know that as a developer who is also a user, when a plugin doesn't work or has a bug, I've gotten much better help (as a user) by going to github issue trackers than I have by going to the support forum. This could be a purely cultural thing, but I think it's at least partially structural.

In the case of a developer abandoning a project, other users with similar problems can band together to figure something out, or you can always check the forks and see where newer development is being carried on by other people.

And while I am using this stuff as a user, being a dev, being able to see the code in close proximity help gives me valuable information about how well developed the plugin is. I can actually see what the last couple of commits were and whether the development on the project is active (I have a sneaking suspicion that at least a fair number of plugin devs just do a rudimentary change every version in order to make the plugin say a recent "last updated" while they haven't actually fixed any bugs or addressed major issues)

Also since a git repo has active integration into the devs development work pipeline, I think they tend to be more responsive because they're actually checking their github/gitlab regularly while they won't necessarily be checking their support page.

Though like I said this stuff could also be ultimately cultural. If nothing else, I think I'm pointing to some problems I see in the way that plugins are developed and maintained in the WP community. Coming from outside the wp community, it is sometime frustrating to separate the wheat and the chaff, and I think my thinking was that greater transparency and a smaller wall between code and community would help with that. That's also a difficulty that perhaps is inherent to a more publically focused CMS community versus a more dedicated and focused developer community. But that's just my opinion. Take it as you will.

#9 @obenland
2 months ago

#3984 was marked as a duplicate.

#10 @whyisjake
2 months ago

I've gotten much better help (as a user) by going to github issue trackers than I have by going to the support forum. This could be a purely cultural thing, but I think it's at least partially structural.

I think the point that I was trying to make in #3984 was that we could look at npm as a good example of a robust end-user and developer focused portal for extensions. In addition to pulling in the README like the WordPress plugin repo does, there is also a link available to the repository where the code is a hosted, and where issues could be created.

What kind of compounds this, as a developer/contributor, when I see the [Developer tab](https://wordpress.org/plugins/wordpress-seo/#developers), I am always let down that it is just information about the SVN of the distribution lib, and not a place to file issues or reach out to the developer. It's clear that there is a lot more going on [here](https://github.com/Yoast/wordpress-seo/issues)

Browse the code, check out the SVN repository, or subscribe to the development log by email or RSS.

I'm guessing that very few people are tracking changes this way...

Ideally, we could have a [repository field](https://docs.npmjs.com/files/package.json#repository) and a [bugs field](https://docs.npmjs.com/files/package.json#repository), but I'd take what we can get at this point.

The Directory is for users to find code to use, not for developers to find code to help out on, which means we do aim it for users and the data they need. Generally that's not going to be a public dev repo.

I think there is a use case that the directory is a place for users to find a way to report issues, and the WordPress.org forums might [not be the best way](https://wordpress.org/support/topic/read-this-before-your-post/) to report an issue.

#11 @thedonquixotic
2 months ago

Some excellent points @whyisjake npm is also a good reference point in the way they handle things.

#12 @dd32
2 months ago

#4016 was marked as a duplicate.

Note: See TracTickets for help on using tickets.