Live data from Hacker News

It’s OK for your open source library to be a bit shitty (2015)

drmaciver.com

141–150 of 364 posts

Re: It’s OK for your open source library to be a bit shitty (2015)

#141
post #14

Earlier quoted context omitted.

Unless you have something specific to point out / warn users about, why? It is what it is, and unless users contribute something back to make it better, it's cost them nothing. If they did contribute something back, then hopefully it's a little less shitty. Unless the library in question is objectively bad and/or non-functional, no apologies or disclaimers are necessary.

I see nothing wrong with a disclaimer along the lines of "This is a hobby project. As the author I care about this project and want it to be as good as possible but don't expect the kind of polish you'd see in projects with corporate backings." It doesn't discredit the project in any capacity, it just tempers users expectations.

"(just a hobby, won't be big and professional like gnu) "

Re: It’s OK for your open source library to be a bit shitty (2015)

#142

I once wrote a library in backbone.js to have a data-synchronized list. It allowed me to provide an array, and it'll keep that array sync'd up to what I saw. I had a kid and a fulltime job and going through a divorce. I happened to use it at my job, but everyone kept asking for me to integrate it into new up and coming repos which I didn't have time for. Honestly I felt bad about not caring, but the reality is that I…

Why would you feel bad? The whole point of open source is they could have done it themselves, if they wanted some integration they needed and you didn't.

And then they could either contribute it back, fork your project or just keep it to themselves, if the license allows it. At any rate, you already helped them...

Re: It’s OK for your open source library to be a bit shitty (2015)

#143
post #77

Earlier quoted context omitted.

Pip does not need a package to be public in order to install it at all, I’ve installed plenty of packages from tarballs and directories just fine. From the docs[0] Install packages from: - PyPI (and other indexes) using requirement specifiers. - VCS project urls. - Local project directories. - Local or remote source archives. Although I’m not quite sure how you’re using “for public use” in that sentence. [0] https://…

I meant to say private use, not public use. But if I want to install from pip over the internet, which is my most common use case it needs to be publicly accessible, right? Which for me means GitHub, bitbucket, pypi, or some other bespoke solution just to avoid "publishing" something for my own private use. Or do I misunderstand?

You can publish to a local instance of PyPi

https://www.linode.com/docs/applications/project-management/...

Re: It’s OK for your open source library to be a bit shitty (2015)

#144
post #77

Earlier quoted context omitted.

Pip does not need a package to be public in order to install it at all, I’ve installed plenty of packages from tarballs and directories just fine. From the docs[0] Install packages from: - PyPI (and other indexes) using requirement specifiers. - VCS project urls. - Local project directories. - Local or remote source archives. Although I’m not quite sure how you’re using “for public use” in that sentence. [0] https://…

I meant to say private use, not public use. But if I want to install from pip over the internet, which is my most common use case it needs to be publicly accessible, right? Which for me means GitHub, bitbucket, pypi, or some other bespoke solution just to avoid "publishing" something for my own private use. Or do I misunderstand?

GitHub and Bitbucket have private repositories and you can install from those using pip. There's nothing forcing you to make something public.

Re: It’s OK for your open source library to be a bit shitty (2015)

#145
post #8

I agree: it is OK for your open source library to be a bit shitty. However, it also can simultaneously be not OK for you to publish it in a package directory with a generic name and a description talking about how awesome it is as a trap for other people to run into, and that is really the core problem: it isn't that you didn't spend an unreasonable amount of time and money to make a good product that no one paid for…

> it also can simultaneously be not OK for you to publish it in a package directory with a generic name and a description Package repositories can be open to all developers or curated by software distribution maintainers. Being able to publish an open source project without dealing with Linux distribution maintainers is a major selling point of programming language package managers. Why even let people publish packag…

> Why even let people publish packages if they're not meant to?

I don't think GP even so much as insinuated in their post that people aren't meant to publish packages in general.

Re: It’s OK for your open source library to be a bit shitty (2015)

#146
post #92
post #64

Earlier quoted context omitted.

> People started to open PR to tell me I was wrong and I should open the issues. Did those pull requests have code changes?

I don't know Francisco but I'm sure he deserves better than this https://github.com/franciscop/picnic/pull/203/files +If you spot a bug or any other issue you may go to hell because this software is officially Bug Free(TM). +

If you see somebody behaving like that, report them to GitHub so they don't do it to anybody else. The link is on their user profile page.

Re: It’s OK for your open source library to be a bit shitty (2015)

#147
post #8

I agree: it is OK for your open source library to be a bit shitty. However, it also can simultaneously be not OK for you to publish it in a package directory with a generic name and a description talking about how awesome it is as a trap for other people to run into, and that is really the core problem: it isn't that you didn't spend an unreasonable amount of time and money to make a good product that no one paid for…

I agree with readme needs to specifically mention unimplemented features. But the responsibility for using an unpopular library lies fully on the user, not author. Of course if the library is popular, author needs to maintain it, or delegate auhority to other maintainers.

As user, it's clear that you need a feature which you found on an unpopular library. Now rather than be skeptical and research the library, or wrap it under yours so you can replace it later, or develop your own, you decide to blindly use it and blame the author.

Re: It’s OK for your open source library to be a bit shitty (2015)

#148

I once wrote a library in backbone.js to have a data-synchronized list. It allowed me to provide an array, and it'll keep that array sync'd up to what I saw. I had a kid and a fulltime job and going through a divorce. I happened to use it at my job, but everyone kept asking for me to integrate it into new up and coming repos which I didn't have time for. Honestly I felt bad about not caring, but the reality is that I…

Why would you feel bad? The whole point of open source is they could have done it themselves, if they wanted some integration they needed and you didn't. And then they could either contribute it back, fork your project or just keep it to themselves, if the license allows it. At any rate, you already helped them...

Different people have wildly different ideas about what the point of open source is.

Re: It’s OK for your open source library to be a bit shitty (2015)

#149
post #87

I wrote a Python library that was pretty popular at one time. I gave a talk on it at PyCon, at one point it was in the top 200 most downloaded packages on PyPI. Since my employer told me I was no longer allowed to work on it at work, I have felt quite a lot of guilt about all but abandoning fixing bugs and reading the mailing list. I've been working on a "next generation" version, almost a rewrite, but I don't see a…

Why would your employer decide what you do on your spare time?

Re: It’s OK for your open source library to be a bit shitty (2015)

#150
post #5

As the author of shitty open source libraries I agree, but a bit of a disclaimer in the readme should be expected.

> a bit of a disclaimer in the readme should be expected Every project already has these. They're in the license files. > This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This disclaimer is clear, self-explanatory, legally binding and a standard feature of all licenses. So why do people a…

I don't think it's good to rely on the licence to carry this sort of information. Even if I have a library that I intend to maintain as polished and continually updated code, I'm going to have a licence disclaiming a legally-enforcible warranty.

And I might have a library that over the years changes from being shitty to high quality (and back!). I wouldn't want to go changing the licence to follow its lifecycle.

I think it would be valuable to have some widely understood conventions of text you can put in the README to set appropriate expectations.

Post reply on HN