Ask HN: What are some poorly written but very successful open source software? - eigenbom
======
stevekemp
Have you ever read the man-page for telnet? On my Debian system the last two
lines read:

    
    
       BUGS
         The source code is not comprehensible.
    

That's probably one of the dividing lines. There are many programs that have
"bad" source code, but which are still essential.

Another measure of "badness" could be how extensible, or not a program might
be. Or even how many security-holes. With regard to security holes some
projects such as Wordpress or Wireshark crop up too often.

But honestly? Most of the badly written programs aren't so bad, if you ignore
a couple of outliers. If the benefits outweigh the drawbacks then the software
leaves the world a better place.

------
larrykubin
WordPress, phpNuke, phpBB, most of the old PHP CMSes and E-Commerce systems.
The code is dirty and hacky, but the software is useful for millions of
people.

~~~
UnoriginalGuy
Last time I looked PHPNuke was horrifying, PHPBB was just outdated, and
WordPress was pretty damn good.

A lot of people assume WordPress is poorly written because it got a reputation
for being insecure. But modern WordPress is pretty well written and in part
due to its automatic update mechanism pretty secure.

When was the last time you looked at WordPress?

~~~
stephenr
> WordPress was pretty damn good

Building your own userland SQL Prepared Statements 'replacement' using string
replacement is not "pretty damn good".

WordPress is _notorious_ for refusing to drop support for ancient, unsupported
versions of PHP.

WordPress is a fucking terrible solution to _any_ problem, from a technical
point of view.

~~~
ruslan_talpa
It seems to be solving 25% of all the problems
[https://martechtoday.com/wordpress-used-on-25-percent-of-
all...](https://martechtoday.com/wordpress-used-on-25-percent-of-all-websites-
report-151115)

~~~
stephenr
I said it's technically a piece of garbage, confirming that it fits very much
in the topic of "poorly written but very successful"

That 25% of sites use it just proves the successful part, and says nothing
about how appropriate it is technically.

~~~
ruslan_talpa
Haven't looked at the code in a long time and it's probably as you say, not
very nice code, and you are right that indeed WP fits this thread, BUT, i take
issue with this phrasing "terrible solution to any problem" leading the reader
to think that whatever he is trying to do, WP is not the answer. If it was
such a terrible solution it wouldn't be were it is.

------
eigenbom
Browsing the source of games like Nethack and Battle for Wesnoth (around a
decade ago) opened my eyes - sometimes code quality can seem poor but the
product can be great.

Blender is another one that seems very ramshackle and complex. I won't go as
far as saying it's poorly written, but it's a product of many contributors,
including students, and yet it's an amazing piece of software.

This thread is not meant to be a criticism of projects, but a celebration that
code quality is not the be all and end all.

~~~
panic
Nethack has great code! It's very easy to follow and has tons of comments.

~~~
eigenbom
The comments are great but for me it's old-style c makes it hard to follow, it
uses lots of short var names that are forward declared, doesn't pass length
with char* arrays, etc. But I don't want to criticise any particular thing,
because it works amazingly well. It's one of my top 10 games.

------
danielvf
Joomla - both code and UI were beyond horrible, but I still turn down random
Joomla projects on a yearly basis.

------
mondoshawan
Though I live and breathe it, emacs C source base is amazingly nasty. The fact
that it still uses redisplay and memory dumps after integrating so many
improvements over the years...

------
leovonl
If you consider:

1) Most of Linux source code is composed of drivers;

2) Most drivers for Linux have really bad quality code, with very few
exceptions;

Then Linux is a perfect example.

------
logronoide
Any Java plugin for Minecraft written by teenagers looks like a heresy for
Enterprise Java developers...

------
tuananh
I don't know the details but i've read sth similar regarding Calibre.

~~~
anotheryou
knowing the frontend I can imagine how it looks beneath

~~~
zhte415
It does OK being able to get stuff out of Calibre.

------
randombit
The source code of procmail is terrifying

------
sayelt
Vim.

~~~
akkartik
As a long-time cheerleader for Vim, I totally agree. Vim is a paradoxical
beast: incredibly convoluted code _almost_ (but not quite) rescued by
extremely great documentation.

------
splitbrain
vTiger CRM. The worst code I have ever seen but still used by lots of
businesses.

~~~
forzo
Yes, that's 200% true. After few customization, my programming skills goes
down by 50%. I forgot some basic syntax.

------
LarryMade2
I heard OpenOffice was a mess years back though I don't know about now.

------
nunez
I wouldn't touch OpenSSL with a ten foot pole.

------
Animats
Sendmail.

~~~
nicolaslem
The chapter about Sendmail in Architecture of Open Source Applications[1]
gives an explanations as to why it is so convoluted. Sendmail was originally
written when TCP/IP and SMTP did not even exist.

[1]
[http://aosabook.org/en/sendmail.html](http://aosabook.org/en/sendmail.html)

~~~
Animats
That's not the real problem. Sendmail was written when databases didn't exist
in the UNIX world and before UNIX had locking mechanisms. Many of the legacy
problems with UNIX/Linux come from components which maintain a database with
special purpose code. Sendmail, BIND, login/passwd, etc.

------
smilesnd
Drupal, wordpress, docker, xamarin, unity. and mono

------
informatimago
openssl!

------
runT1ME
Docker.

