Hacker News new | past | comments | ask | show | jobs | submit login
Why I Haven’t Fixed Your Issue Yet (michaelbromley.co.uk)
247 points by s_severus on May 14, 2016 | hide | past | web | favorite | 99 comments

I agree with most of those, although I'd add a bullet point to the agreement:

- If I don't have the time or interest to support the project any longer I agree to reach out to trusted contributors and give them commit rights, or put a clear notice on the readme: "This project is not actively maintained" so users can make an informed choice

Great point. I think there always comes a time for developers of popular open source libraries where their "workload" (that is their responsibilities to their end users) becomes too much for them to deal with, even if you don't have a family.

The only sensible solution here is to bring on regular contributors as repository owners and spread the responsibility.

That said, the is a fork button.

True, but there are problems with GitHub forking: namely that its often non-obvious which is the best fork to use, since too much prominence is given to the original project. Also if the maintainer doesn't even put a note on the readme "This is dead, use XXX fork" you have even more problems. Also maybe the original project was published to a package manager ... forking is one thing, but publishing and maintaining your fork on a package manager too?

It can take some effort to feel comfortable giving the keys of a project to someone else. In one project that I had abandoned, I encouraged others to fork and rename the project.

They can advertise it as a fork of the original project to attract stranded users, I would even have promoted it, but I think that it would have been very misleading to our users if suddenly the project changed hands. (the project was a management tool often used by non-profits, it stored personnal data and security was important. I had received a ton of very shady non-sense proposals, to this day, 10 years later, I still get the occasionnal weird message or request for support)

Forking is an approach to keep the project moving but the underlying problem is then notification & distribution. If I use one of the package managers - npm, composer, gems, etc - people only know of the original project and have its namespace somewhere in the project.

If I fork a project, resolve all the issues, and make it better, faster, etc, there's not a mechanism for those users to pick up my fork unless they actively go looking for it.

I think many of those package managers would be well-served to have a 301-like redirect saying "deprecated, but continued over in this new package"

It's not clear whether this is getting sincere upvotes despite that the page is currently failing to load or ironic upvotes because the page is currently failing to load.

In any event, he's not fixing your issue yet because he has limited free time and, apparently, has issues of his own to fix.

I thought the blinking cursor was there to imply we needed to write the blog post ourselves.

I'm only slightly embarrassed to admit that I did test it..

me too. just tried typing when cursor loaded. tried to click on cursor

Oh yes! That's the first thing I did!

You need to click the link - here is the actual article https://archive.is/t9oKw

Thanks, I didn't realize the blue headline was actually a link to click. I thought the author had replaced the body of the article with a "please go away, my site is overloaded" message.

It wasn't really clear to me that that is supposed to be a link. It's in a position I would normally expect a headline to be and it's not underlined or accompanied by any other text indicating it might be clickable.

I thought the "thanks for the hug, HN" comment was unrelated.

EDIT: It now says "(link)" in front of it. Not sure whether that's new or I just overlooked it.

Well, hardly issues to fix, more just life happening.

"It's not clear whether this is getting sincere upvotes despite that the page is currently failing to load or ironic upvotes because the page is currently failing to load."

Clever thought. That didn't occur to me.

A few minutes ago, there was a link redirecting to the article on the page with the cursor,

Thought the blank page was the point he was trying to make in that a blank canvas, editor, notebook, etc is daunting when you first get started and you can easily find excuses to keep putting it off. But apparently there's a technical issue here. Or is that intentional?

It's making an ajax request for the blog post and that page is returning a 500 error because of a Database connection issue (assumed because of higher traffic).

http://www.michaelbromley.co.uk/api/wp-json/posts/529 Error establishing a database connection

https://archive.is/t9oKw here is the link

This worked when you posted it, but it looks like Google updated their cache to cache the blank page instead.

Anyway, thanks to Bing's cache: https://archive.is/t9oKw

Archive.is is bing?

No, but parent archived the page from Bings cache.

I feel the pain. I maintain a couple of slightly popular repos and the issues are sometimes overwhelming, even more when I have to debug some issue in an environment I don't own (iOS) or when the issue runs deep (PhantomJS issue => testing issue => now my issue).

So the Bing cache is good and the article worth reading

This is however the money shot:

>> how many parts of your company’s product are coupled to the lifestyle and priorities of some lone, unpaid package maintainer? It’s something I have to think about too – in my day-job I build software on top of many FOSS libraries, many of which are probably maintained by people in similar circumstances to my own.

Given that my day job builds on (last count) 953 npm packages, most of which are probably different authors, not to mention servers, backend etc etc, I do really worry we are finding OSS backwards.

Good luck to the OP and his young family. And perhaps GitHub can set up a "pay me a days freelance rates work for issues fixed" feature

He misses another way to get bugs fixed in open source software: Pay a developer to fix them. However that does raise the problem that it's hard to find a competent developer to do piecework (easy to find an incompetent developer of course). All the good open source developers are employed.

All of my published work clearly states that commercial support is available (and when other companies actively contribute, I list them too). Then again, most of my projects are work-related, not hobbies, so I don't mind developing a funding plan to keep the projects sustainable.

In some cases, however, it can also attract poor quality patches from contractors working on gigs, and make life hell for the maintainers. I personally prefer if people contract me directly (as the project/component maintainer).

Tangential anecdote: a while back I helped maintain a caching module for a CMS. I was once asked by a user to look into the performance problems of their website. They were a big media company from the Middle East. I had no idea they used my module, which was usually for small websites on cheap hosting. Their contractors had enabled every possible caching module in the world. I basically disabled a few modules, including mine, tweaked their Varnish config, and things ran smoothly afterwards.

I've responded to user requests with "I'm really busy; if you want this to be a priority my rate is $120". Those conversations almost always end with bitching (theirs) and me emailing something like "You mistook yourself for a paying customer. You aren't and I still don't work for you. Bye!" then adding their email to my delete on receipt rule.

Tangent: Looking forward to the resurgence of static page generators.

Why? Everything else being equal that would just mean you'd get a completely blank page because the database connection would have died in the initial request rather than the ajax request

No, because a static page generator would mean that there is no database connection.

STATIC = no database

Heh, I have an issue filed in a repository of his too, but I had a suitable workaround.

As a maintainer of a major library myself, I completely concur with the article - while I don't have a baby, I am a long distance runner, as well as someone who directs albums of music. I also like to socialize as well, and every now and then I give talks (oftentimes traveling to give them), interview (even having excessive time lost to take home projects), and experiment with new technology or contribute to other open source projects.

I think one thing people need to do is help us help you. It saves us a lot of mental energy, as well as speeds things up. If you can, filing a pull request would be great too if you understand the parameters of the problem

Funny, I had exactly the reciprocal experience with Fritzing, I spent 3 weeks (I know, I'm slow) developing a significant improvement in one of the most important part on a software they make money on. And one year later, the PR is still not merged.

Have a link to the specific PR?

https://github.com/fritzing/fritzing-app/pull/3203 (it's not mine because someone else is trying to carry the work)

Thanks. I'm a fan of Fritzing, but am also concerned by the pace of its development process. I hope it improves!

I think money might be a good motivator in such circumstances. Maybe Github should think about integrating "paid requests". I think we would definitely have more open source software at better quality.

I don't think it would. I have had people offer to pay for features etc. They always offer tiny amounts as if I'm going to jump up in gratitude and get to work in it straight away. TBH I see it as an insult.

Most people (even many programmers) have no idea how much software costs. This minor feature you want? It'll take a couple of hours to design, a few more hours to implement, you need to test it, write docs for it, and all of a sudden the better part of a week is gone.

Even at a very cheap rate that quickly adds up to way more than most people are willing to give...

Depending on their attitude, I don't think you should necessarily treat a lowball offer as an insult. The problem isn't that the user is offering (say) $10 for the work, but that not enough users offer $10 for the work.

What if I offered you $5,000 to fix it?

I'll escrow that for a mere 10%.

There is already something similar, although a 3rd party service https://www.bountysource.com/

Most people would be unwilling to pay the cost of developer time.

Even a relatively minor issue that could be fixed in a few hours would cost hundreds of dollars.

On the other hand, involving money may make people feel even more entitled to having their issues fixed.

That's actually a good idea for a first-class feature. That way, the GitHub email can mention a financial offer in the subject line to stand out from the noise of free requests.

That's a fantastic idea!

I think this could be a valid reason - I know there are issues in some of my projects that I won't get around to because I may have lost interest in but which if someone would pay me to fix an issue or two I'd glady fix it:

"Because you are not offering me any money to fix it"

Another good reason to have your blog be static pages compiled and served from FS. Worse is better.

If by FS you mean File System then the truth is that keeping static files in RAM to never touch hard drive beyond first load is much better

I would think OS would keep the static files in RAM after first load. Saying "FS" would imply "use RAM if available" even if not stated.

I might be wrong here, but I think you need your data in kernel memory (fs cache f.ex) to leverage zero copy I/O. Putting things in your process heap would then be counter productive.

Beside there are things doing just that for you. Like varnish.

Skipping the whole operating system would indeed be an optimization in a way

Why not pass over management of the repository to someone else? Sounds like all sides would benefit.

Unfortunately the number of people lining up to maintain neglected OSS software is not very big.

I was pretty confused to be given a cursor on a web page with no content just a basic layout. Oh well.

It's nice except for the one part where he says he has some responsibility to his users. He doesn't. Not at all. That would be a one-way relationship or responsibility. If his users were paying him, then I could see some responsibility. If it's free and/or incomplete, it's the users that have responsibility when they download it: be grateful for work done so far, make sure it works as intended, and so on.

FOSS developers shouldn't feel guilty or responsible in the slightest for their users unless their users' success is part of the developers' lifelong goals. For instance, protecting liberty by making sure Tor and GPG work properly. Otherwise, screw them if they want something done but won't contribute anything back.

Came here to say this. The GPL says no warranty.

Sorry, gonna try to fix...

Well, mysql is dead and I have no chance to fix it right now because my son is crawling all over me and demanding my atttention.

working cached copy: https://archive.is/t9oKw

Sorry about my poor devops skills, everyone.

Lol. Kind of the point of the post. No worries.

Yeah, true! Anyway, the kids are asleep now and I just had time to actually fix it - it works! Should be able to handle the reduced traffic now..

Only to be hit with a blank page on NoScript. Jeez. Of course, my opinion was...


...that you shouldn't feel responsible for that or anything else unless people pay you to. So, feel free to ignore NoScripters inconvenience. :)

First time I've seen your apps, though. Shooter didn't work on my Firefox. Chromata did, though. I like both it and the name you chose for it. The fractal example that loaded reminded me of drawings of a neuron. The others were trippy with one almost looking like an old snake game. Overall impression reminds me when I used to watch the visualizations of Winamp, esp tunnels and stuff, while trying to think of next solution to a programming or system problem. Your stuff might even moonlight as a decent screensaver if the CPU use is low. :)

Re: you other comment - perhaps this is just my own take on it. I have actively promoted some of my libs, so in that regard I feel a small responsibility for the resulting decisions people take on my advice. That's why I included that note at the end.

Re: noscript - yeah, it's an Angular app. Unnecessary? Sure! I used my site as a way to learn Angular a while back, that's all.

Re: my other projects. Glad you like them! I'm actually just working on a music visualization app whenever I get time. The idea is that it will be a native (electron) app, which can read any output from your sound card, and then use JS to write visualizations for it (so anyone can write their own if they like).

"I have actively promoted some of my libs"

Makes sense.

"I'm actually just working on a music visualization app whenever I get time."

Sounds neat. I look forward to seeing that one.

Why I'm Gonna Try to Fix Your Issue Soon.

Heh, looks like HackerNews hugs hard these days :-)

Someone has to write a script that archives pages automatically when they appear on HN.

The HackerNew Chrome extension adds a link to a cached version under each post.

Off topic, but to me this indicates a dev tool issue:

"Do you know what I like to do in that time? Unfortunately for you, the answer is not "fire up my IDE, get the build pipeline going, start a local dev server, ..

I pick my tools carefully, so that my hobby projects don't feel like work. If I have to suffer through slow tools, then they feel like work, and then what's the point in doing them? It's supposed to be fun.

So I basically use vim and bash as the IDE and shell scripts for the build pipeline. Everything works quickly and reliably, on any machine.

I realize that not every project has that luxury. But for personal projects, if it requires shitty tools, I'm just not even going to bother in the first place, and then there are no bugs to fix.

> fire up the build pipeline

He's not lying about the role of weird build pipelines in making it harder to dive into a project (though it may not be the point he intended to make). Simplicity & repeatability yields surprising dividends.

Empty page on my Android.

A (perhaps) related discussion: https://news.ycombinator.com/item?id=5686139

FOSS, like paid software cant escape the economics of incentives.

If it's that important hire someone who can and pay them to fix it, job done, everyone happy, move on :)

Yes you're coding

because the database is down?

I'm getting a 500 error when the page tries to load the blog. I can't see any text at all.

Because you have been making some silly JS-animation on your blog instead?

The thing is you can’t tell someone who work for free on their free time on a project you use for free what to do with their time. If they want to make silly JS animations on their website it’s not a problem.

Which causes the page to be empty on mid-level management's Macbook pro running Safari?

If he'd used HTML, the thing designed for formatting text on the internet, his site probably wouldn't have been hugged to death. I wish people wouldn't use javascript like this.

He’s using a database connection to retrieve his blog post; the issue here has nothing to do with JS.

It does for NoScript users. I told him not to worry about us, though, cuz we aren't paying him. The HTML comment up thread applies, though, because I never had these sorts of problems serving HTML/CSS for text parts out of, say, web servers instead of databases. The stuff that absolutely had to be dynamic was on dedicated pages back in the day often with static fall-backs.

These JS and database-powered sites have issues we simply didn't have on mostly HTML sites. Probably one reason static site generators are making a comeback. ;)

Why I haven't read your blog post yet: Won't show anything without javascript → meh, close that tab.

Is there a reason you don't tolerate js?

Opera Android: empty page with blinking cursor. That could be a reason for not fixing issues, the blank page syndrome :-) but I guess there is some technical problem going on.

If you look at the console, you can see the AJAX request fails with 500, and says it cannot connect the DB, so it's not a browser or JS issue.

This link seems to work for now.


Hard to look at the console on Android.

Same on Chrome/Win10.

And Firefox android. Am I supposed to disable my JavaScript/trackers blocking plugins? It's not worth the risk. I only do that when booking cheap flights.

Is it just me or is this website really buggy/confusing. Some of the menus blog/projects open to a blank page (with a cursor that does nothing?) and the other ones are just way to slow at producing the content... The time it takes for some page to artistically produce the readable content I've already clicked back button about 24 times.

I fail to see why this is on hacker news in the first place? Is this a demonstration of some web developers failing in new creative ways? (I saw some other interactive CV stuff that was also not only buggy but also just creative in a _bad_ way few days before...)

And oh yeah, if this is supposed to be some kind of "recruiting" tool to advocate the creator of the website in question.. If I was the recruiter, I would consider this website against him. Just my 2 € cents.

Further adding to this it's now a blank page with awful positioning on mobile with a link to a plaintext archived copy of the page.

I dislike such posts.

Since mostly an issue is nothing but. Even if it won't get fixed (directly).

Also some people in Open Source are akward. They tell me that they have limited resources in their project and they can't fix it or won't fix it or whatever. They don't even think that I could try to fix my own issue. They better start a conversation that they have too less people and that this particular issue will be closed. They don't even care if you've done some open source contributions already (even minor one's) on another project / language.

It's like some people just don't want your help, even if they told you.

Isn't that why Github has forking? If people recognize that you'll accept more updates to your fork than the original, then maybe your will become the defacto proper one. If not, at least you fixed it for yourself and all your friends who trust you.

If you don't like that you'll then have to include the original author's future changes in yours, then, well, you're doing just what he was - not wanting to spend time managing other people's things.

Not sure what you are saying but next time make a pull request that includes good test coverage.

Even then though, if they don't have time to test it themselves in another project then they could end up breaking a lot of people's projects down the line. So they might not have the time to test and so can't even merge a PR.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact