What open source means to me


Posted on: January 17, 2018

Posted by:

In putting together the Feeds for Journalists project, I had to figure out some new stuff about open source, because I had never seen the idea applied previously to a list of feeds. I haven't even seen it used for docs, novels or news, written work, but I'm sure it has been.

I've been shipping open source stuff mostly under the ultra-liberal MIT license.

I've also been using lots of open source stuff in my JavaScript work. It's why I switched my development to JavaScript a few years ago. When I need to use a relatively new technology, there always is a package that supports it. Debugged, maintained, and complete. It's like developer heaven. Not only is it all there, but it's not locked up inside a huge Silicon Valley company. But things I depend on still get deprecated. I try to find projects that don't do that so much.

So when I publish something via open source, what does that mean?

  • I work alone. The projects I publish are my code. I am responsible for every aspect of it. I try not to hack stuff in. And people who don't work on the code regularly can only hack stuff in (unless their brains are empty or they're some kind of prodigy, I've heard they exist, but have never met one). So I don't accept pull requests. I prefer clearly written feature requests.
  • I know my code has quirks. I use an outliner to write it, for one thing. You're seeing the generated code. That's another reason why pull requests don't work. And because I use an outliner, I edit structures of code, and nesting doesn't have any impact on readability or maintainability. But everyone's code is quirky. Reading other people's code is like opening their refrigerator. ;-)
  • Almost all my packages are named dave-something. That's because the straightforward names were already taken. I'm a relative latecomer to the package world in JavaScript. So there's daveutils, davefilesystem, davehttp, daverss, daveopml, davetwitter, davereader. There are exceptions like oldschoolblog. Just because I fell in love with the name and it was available. I've been doing modules like this since UCSD Pascal days. Back then I called them "czars" so there was screenczar and keyboardczar etc. We were dealing with lower level concepts back then.
  • When I find problems in other people's packages, and I do, I write up bug reports exactly as if I didn't have access to the source code. I try to stay within the three part framework -- 1. What I was doing. 2. What I expected to happen. 3. What actually happened. I have found it off-putting when the project owner asks me instead to submit a pull request. I don't have the bandwidth to learn how your codebase works internally.

For the Feeds for Journalists project, I own the list. You are encouraged to make feature requests, in the form of URLs of feeds you think should be on the list, or to question the inclusion of any feed I've put there. I'm totally open to discussion (with the usual caveat as long as it's respectful).

But first, before proposing an idea, think about what the project is trying to create -- a collection of feeds that's likely to cover breaking news from a number of angles with forays into science, the arts, education, humor. I included a feed about torrents (because it's good, and they have many of the same values as journalists and I think it would be useful for you all to get to know each other).

1. Suggest feeds and 2. Tell me why you suggested it. Ultimately I'm going to decide if it goes in this collection. And because there's a liberal open source license, if you see another direction to take it, for a subset of journalists perhaps, or librarians, or Italian journalists, you can fork it and use it as the basis for your own list.

PS: I think this piece will become a this.how doc, like the one about standards, which also began as a blog post.

Read More

Related Products to this Post

Leave a Reply

Add New Comment