I want to start giving back to the community, but writing a plugin from scratch is currently slightly beyond my skill level and creativity level (meaning, I don’t know what kind of problem I can solve with a plugin! every time I think of something, I find a plugin or 6 that have already been written!). However, I have recently identified a very simple plugin that looks to be abandoned since WP 2.8, and I think I can modify it to be 3.1 compatible. I’ve asked, and it seems that the best way to update this plugin may be to simply fork it.
So now my question: how do I do that? I’m new to SVN, so I’m totally uncertain as to where to go, how to start, etc etc. Can anyone guide me? 🙂
there are several guides in the Codex that can help,
I also think it’s a great idea to “fix” older useful plugins 🙂
Steps:
http://wordpress.org/extend/plugins/about/
Submit:
http://wordpress.org/extend/plugins/add/
How to Use Subversion:
http://wordpress.org/extend/plugins/about/svn/
Promotion and additional info:
http://codex.wordpress.org/Plugin_Submission_and_Promotion
Using subversion depends on your OS, for windows I recommend tortoise SVN http://tortoisesvn.tigris.org/
For Mac check out “Versions”, http://versionsapp.com/ or you can use the command line.
Also a lot of IDE’s now have subversion support built right in.
There is no real “fork” option with SVN. You can check out a copy of the plugin then make changes but there is no way to submit them back as the same plugin name without admin access.
Here are a few options (in order of best to worst IMO):
A) See if the original author will grant you admin access (this is sometimes the case if they have abandon the plugin and you ask them nicely to take it over)
B) Create a patch and send it to the original author (sometimes authors abandon plugins because they don’t have time but are willing to accept patches)
C) Create a new plugin based on the original code, give it a new name you can follow the steps in Wyck’s answer for this. (If you do this I would make sure to credit the original author in the source and possibly in the readme)