ImageMagick has a ridiculous development workflow

Post here to shower the ImageMagick developers with praise or discuss how you could have done a better job if you developed ImageMagick. Or talk about how Photoshop is better than ImageMagick. Even complain about how no one answered your postings in the Users forum. Venting and musings welcomed here.
SirCmpwn
Posts: 6
Joined: 2014-03-10T00:30:09-07:00
Authentication code: 6789

ImageMagick has a ridiculous development workflow

Post by SirCmpwn »

I submitted a patch several weeks ago, and it was horrible. Here's how it went down:
  1. Navigate ImageMagick's terrible website for half an hour looking for the repository
  2. Discover that it's subversion, groan
  3. Grab the repo and make my changes, produce a patch
  4. Realize that subversion patches are unattributed, groan some more
  5. Google "ImageMagick mailing list", find a page full of dead links
  6. Try the second result, page full of dead links
  7. Spend an hour navigating aforementioned terrible website looking for how to submit a patch
  8. Do not find it on "Support ImageMagick" (I did find a paragraph telling me that I could help by contributing code, but not telling me how)
  9. Do not find it on the "Install from Source" page
  10. Check subversion history to see if SVN shows committer emails, find none
  11. Browse this forum, no one is submitting patches
  12. See "contact the wizards" hidden at the bottom of the page, decide to ask where I can send patches
  13. Grimace at ridiculous "authentication code", click drop-down and see "Source or Documentation patch"
  14. Stare at the screen in annoyance for a few minutes
  15. Copy patch to my clipboard and dump it into the contact form
  16. Hit send
  17. Never hear back from anyone about it
  18. Several weeks pass
  19. Remember that I sent a patch a while ago
  20. Find the subversion repo again, notice that my patch has been applied and has been in two releases of ImageMagick, and there's no attribution like you see with git
  21. Make a forum account just to complain about this bulls**t
Here's how it should have happened:
  1. Open ImageMagick's helpful and easy-to-use website
  2. Find the git repository within moments, clone it and write the patch
  3. Subscribe to the mailing list, also very easy to find
  4. Email patch to mailing list
  5. Thank ImageMagick developers after they inform me that the patch has been merged
It's like you're actually trying to make it difficult for people to give you code.
User avatar
magick
Site Admin
Posts: 11064
Joined: 2003-05-31T11:32:55-07:00

Re: ImageMagick has a ridiculous development workflow

Post by magick »

Post any ImageMagick patches to the Bugs forum if you think you have found and fixed a bug or security vulnerability. Post to the Developers forum if you have a patch for a proposed enhancement. As part of your patch set, be sure to added an entry to the ChangeLog summarizing your patch along with your name (or pseudonym). Note, if you submit patches often, you will likely get an invite to become an ImageMagick developer and get commit access to the Subversion repository.

We got rid of the mailing lists sometime ago because we spent too much time deleting spam off of the list.

Use the Contact the Wizards page @ http://www.imagemagick.org/script/contact.php to bring certain topics to the attention of the developers (e.g. security concerns, web page corrections / suggestions, etc.). We make it clear on that page that you'll only hear back from us if its a sponsorship, license, or security issue and we recommend the discussion server @ http://www.imagemagick.org/discourse-server/ if you want a dialog.
SirCmpwn
Posts: 6
Joined: 2014-03-10T00:30:09-07:00
Authentication code: 6789

Re: ImageMagick has a ridiculous development workflow

Post by SirCmpwn »

Would you consider using GitHub? It makes your code easily discoverable, does not have problems with spam, and makes it easy to contribute by way of pull requests. You can also do public code reviews with a nice UI and have a nice exchange with the dev offering the changes.

Here's an example of a patch submitted to one of my own open-source projects. You can have a good dialogue, bring others in, chat about specific lines of code...

You can also import your subversion history into a git repository, and then you get all the benefits of git without losing your history. Others will also be more excitied to contribute, since SVN is a pretty outdated tool that most devs don't enjoy using any more.

I'd also strongly suggest improving the website, which I'd be willing to help with, but not if the development workflow is quite this annoying.
User avatar
magick
Site Admin
Posts: 11064
Joined: 2003-05-31T11:32:55-07:00

Re: ImageMagick has a ridiculous development workflow

Post by magick »

For the short term, Subversion meets our needs and we see no reason to invest the time and energy to switch right now. We may revisit our decision in the future but not this year.
NullNix
Posts: 3
Joined: 2014-03-23T05:34:18-07:00
Authentication code: 6789

Re: ImageMagick has a ridiculous development workflow

Post by NullNix »

Subversion doesn't seem to be serving anyone's needs very well right now:

% svn ls https://www.imagemagick.org/subversion/ ... gick/trunk
svn: E175002: Unexpected HTTP status 405 'Method Not Allowed' on '/subversion/ImageMagick/trunk'

svn: E175002: Additional errors:
svn: E175002: PROPFIND request on '/subversion/ImageMagick/trunk' failed: 405 Method Not Allowed
SirCmpwn
Posts: 6
Joined: 2014-03-10T00:30:09-07:00
Authentication code: 6789

Re: ImageMagick has a ridiculous development workflow

Post by SirCmpwn »

magick wrote:For the short term, Subversion meets our needs and we see no reason to invest the time and energy to switch right now. We may revisit our decision in the future but not this year.
Hi guys! It's been a year.
Lekensteyn
Posts: 4
Joined: 2015-06-03T01:25:21-07:00
Authentication code: 6789

Re: ImageMagick has a ridiculous development workflow

Post by Lekensteyn »

Hey, I was looking into submitting a patch, but could not find the sources within a minute.

So one goes to http://www.imagemagick.org, Home and then searches for "git" or "source". No results. Neither for the "Download", "Download -> Install from Unix Source", "Developers" or "Resources" page. Googled for "imagemagick git", found no official results.

Finally found a SVN repo as third result at https://www.imagemagick.org/script/subversion.php only to find out that the repo is not responding.

I suggest to make the development resources more visible, putting links on the homepage, download page and maybe even the resources. Use of a modern DVCS like git also makes it easier to keep a full copy locally available, reducing the load on the servers.

Patches on this forum (which is attacked by spam bots) is also not sustainable. Github for issue tracking and handling code review works pretty well and is quite inviting, but Gerrit Code Review is also nice (you can see it in action at https://code.wireshark.org/review/).
User avatar
magick
Site Admin
Posts: 11064
Joined: 2003-05-31T11:32:55-07:00

Re: ImageMagick has a ridiculous development workflow

Post by magick »

We're just a week or two from hosting the ImageMagick repository on Github, the work is already in progress but got delayed because of a technical glitch which we have since resolved.

The SVN repository is down now because we are upgrading our internet connection. It will be online, likely within two days.
Lekensteyn
Posts: 4
Joined: 2015-06-03T01:25:21-07:00
Authentication code: 6789

Re: ImageMagick has a ridiculous development workflow

Post by Lekensteyn »

Moving to git? That is awesome! I guess patches can watch that long :-)

What do you think about giving the source repository a more prominent position on the website?
User avatar
magick
Site Admin
Posts: 11064
Joined: 2003-05-31T11:32:55-07:00

Re: ImageMagick has a ridiculous development workflow

Post by magick »

Sounds fine with us. We've run out of real estate on the header and footer navigation sections. If we add any more, it likely won't fit on a mobile phone. We could add it to the Download or Develop pages near the top. What's your preference?
User avatar
dlemstra
Posts: 1570
Joined: 2013-05-04T15:28:54-07:00
Authentication code: 6789
Contact:

Re: ImageMagick has a ridiculous development workflow

Post by dlemstra »

Just to be clear we are not moving to git. We will host a mirror of our svn repository at github for now. We will be watching pull request but they will be committed in the svn repository and 'copied' to github. Not saying we will never move to git but this will be it for now.
.NET + ImageMagick = Magick.NET https://github.com/dlemstra/Magick.NET, @MagickNET, Donate
Lekensteyn
Posts: 4
Joined: 2015-06-03T01:25:21-07:00
Authentication code: 6789

Re: ImageMagick has a ridiculous development workflow

Post by Lekensteyn »

I was thinking of some text on the download page, such as:

Code: Select all

Before you download, you may want to review recent _changes_ to the ImageMagick distribution. For the bleeding edge version, check the _source code repository_.
That link should point to a friendly interface, but since none of the UIs are as pretty as cgit/gitweb, it is probably better to link to https://www.imagemagick.org/script/subversion.php which can then mention http://trac.imagemagick.org/browser/ImageMagick/trunk and the Github mirror (taking Lemstra's comment into account).

A CONTRIBUTING document would also be more welcoming/helpful to new people like me.

"Does copied to github" mean manually making a patch, then applying it to svn? Git has pretty good svn integration:

Code: Select all

git svn clone --stdlayout https://subversion.imagemagick.org/subversion/ImageMagick
cd ImageMagick

# (make changes here, git add && git commit, or git am some.patch or git merge)

# publish change to subversion repo
git svn dcommit

# get updates
git svn fetch
AFAIK the author information is lost though, the user who checks out the svn repo will appear as committer. In that regard, git is better.

For those who cannot get used to git, github provides a svn interface to git repos as well: https://help.github.com/articles/suppor ... n-clients/. Not trying to sound too pushy, I would just like to mention something for consideration.
User avatar
dlemstra
Posts: 1570
Joined: 2013-05-04T15:28:54-07:00
Authentication code: 6789
Contact:

Re: ImageMagick has a ridiculous development workflow

Post by dlemstra »

It won't be a two way sync. We will look at the pull request and commit the patches to svn. Author information will be lost for now.
.NET + ImageMagick = Magick.NET https://github.com/dlemstra/Magick.NET, @MagickNET, Donate
User avatar
dlemstra
Posts: 1570
Joined: 2013-05-04T15:28:54-07:00
Authentication code: 6789
Contact:

Re: ImageMagick has a ridiculous development workflow

Post by dlemstra »

The mirror has been created and can be found here: https://github.com/ImageMagick/ImageMagick. Have fun!
.NET + ImageMagick = Magick.NET https://github.com/dlemstra/Magick.NET, @MagickNET, Donate
olear
Posts: 58
Joined: 2015-05-24T10:56:42-07:00
Authentication code: 6789

Re: ImageMagick has a ridiculous development workflow

Post by olear »

Thanks :)
Post Reply