Ask HN: I want to create IMDB for open source projects
I am interested in developing a web application that bears resemblance to IMDb but for open-source projects. The primary goal of this application will be to serve as a directory for discovering open-source projects.
While GitHub is an exceptional platform, it does not provide all the functionality I need. Therefore, I plan to add a search function that enables users to filter projects.
1. What do you think about this idea? 2. However, I am uncertain about how to plan the product. Can you assist me with this?
150 comments
[ 2.0 ms ] story [ 228 ms ] threadhttps://directory.fsf.org/wiki/Category:License
List of projects under MIT/Expat license: https://directory.fsf.org/wiki?title=Special:Ask&limit=500&o...
I suspect it has less articles than you'd hope for because the UI is so bad.
https://www.freeopensourcesoftware.org/index.php?title=Fresh...
[0] https://en.wikipedia.org/wiki/Freecode
Back then, for years before and after, I looked at it almost every day. It was my go-to 'take a quick break from work while at work' site.
Thanks for the nostalgia-link. Man I miss those years.
Back then it was Lambda the Ultimate and Freshmeat on daily rotation.
IMDB is centered on reviews and ratings of a static media asset.
Open source projects are often growing/changing. They might have a really intriguing seed of an idea with an interesting roadmap, but the prototype is poorly executed / buggy. Does that deserve a low ranking / poor review?
If a project has a total of 10 reviews, it's probably best to not just take the average of the 2 newest reviews. On the other hand, if a project gets dozens of reviews a month, taking of the last two months or so would totally make sense.
https://openhub.net/
One useful feature is the ability to coalesce different identities. For example, I've released libraries on my personal accounts as well as through work. For a while I used to link there from my personal site since it nearly summarized that I’d made N thousand commits to OSS. But I stopped. I’m not really sure what the point is for me.
https://openhub.net/accounts/neilk
If it’s bragging rights, we have Github stars. Effectively (and sadly) open source is a resume building tool nowadays, so maybe that?
What use cases do you see?
"People who liked this also liked ..."
"Most active developers on this also developed ..."
"More projects using similar tech stack are ..."
The value of IMDB is not getting a score on a movie, or a synopsis, it's in discovering other movies[1] that you might like.
[1] The easiest way to discover is to ask for a list of Christopher Nolan movies :-)
Is that sad? Isn’t that a purely positive signal?
I don't like the idea of some "authority" picking the winners and losers in the open-source space.
What makes IMDB work and this not, is that Movies are static things. You aren't going to one day find the 1957 romantic comedy Desk Set[1], suddenly turn into a slasher film. Where as open source software changes, sometimes drastically.
[1]- You should watch Desk Set, it has Katharine Hepburn and Spencer Tracy. The main plot is about a computer taking over the job of information workers.
Managing open source contributors is non-trivial work. It's actually one of the harder forms of engineering management, because you're dealing with volunteers - you can't even really directly tell contributors what to do, you have to deploy a whole bunch of (difficult) soft skills and influence and leadership to point people in the right direction.
How confident are you that there's sufficient demand from projects to attract more contributors in this way?
Just because something should exist, doesn't mean it can be created today. The effort to build and attract open source projects is a monumental task. Unless you're offering something BIG - there's alot of inertia to overcome.
I'd focus on building on top of the GitHub API to create those features you want. Not only will you focus your time on the unique stuff, GitHub can help with distribution and discovery.
Actively soliciting contributions isn't necessarily the way to get that.
Look at what happens with Hacktoberfest: there are hundreds of thousands of newer developers out there who want to earn their stripes by contributing to an open source project. The amount of work this creates for the projects themselves is enormous.
We all used to be dumb teenagers as well.
I've never seen this. No tests, un-clean PR. Describing them how to fix it would take more time than re-doing the PR myself. Of course maybe if I thought they were going to contribute a bunch more PRs it would be worth spending time training them but I've never had that kind of contributor.
They're /incredibly/ rare though.
Opening the code doesn't necessarily mean that external contributions are expected.
Reports of issues might be welcome, code contributions less.
I've seen too many popular projects polluted by low quality contributions. When they get merged without care, the project's quality degrades. When they accumulate, the load on the maintainers shoulders becomes heavy.
Maybe an increase in potential contributors is a natural outcome of increased discoverability, but I’m not convinced that a new site that is primarily facilitating project discovery will drastically change contributions.
If you’re the type of person to submit code to a project, you’re probably already scouring the web to find the projects that are most relevant to you, and a site like this just makes that process more efficient.
Most users of OSS are not contributors, and this project seems to be aimed at one of the barriers to adopting OSS: knowing where to look for options when you realize you need Tool X for Project Y.
There is potentially a lot of blind spots you have (e.g. What types of mechanisms are you going to have for license filtering?). Your questions along with request for assistance read much more as a request for mentorship as opposed to introducing more code into the world that people aren't reading.
https://ovio.org/
Whenever I contribute to open-source, it’s typically because I found the project on my own, and, by extension, I already have an idea of how it should operate, and so I’m able to recognize issues or missing features. If an open-source project I’m using already works great, I make no changes. This is how people’s mindset should operate.
Instead, a project like this seems ripe for people to come in and make any sort of change. OSS maintainers already deal with garbage PRs because of self-taught developers hearing that they should “contribute to open source to learn,” and then it’s just a README change or other unnecessary tweaks from absolute beginners. If an OOS maintainer put their repo on your platform, I feel like they would deal with a lot more of that.
It also seems ripe for abuse from nefarious OSS maintainers, who will use that to just promote their own projects, rather than actively seeking contributions. If they have a limited scope as to the changes they’ll accept, and are using your platform just as a means to get more eyeballs on their Donation link, that’s bad for everyone.
Just some things to keep in mind before you proceed.
Who are the target users? Newbies looking for open source projects with low-hanging fruit that they can pad their resumes with? Projects that need better documentation than what GPT can write for them? Or the Lasse Collins of the world who are desperately looking for a Jia Tan to help them? There are different kinds of open source projects, each with very different attitudes toward casual contributors. Which kinds do you want to focus on, at least in the beginning? Answering this question will help you plan what kinds of interactions you want to enable on your platform.
This seems more suitable as a feature of GitHub, not a standalone product.
(Interesting idea nonetheless, please don’t take my comments as being negative)
I predict it would soon use three major APIs and leave everyone's private gitea or gitweb install in obscurity.
Then figure out why a person might want to visit your site. Curiosity? Interest in a person? To learn if a foss project is any good? To see who has traction to decide what to contribute to? Something else?
Bonus points: a podcast with interviews with various community leaders; or try to encourage a volunteer to do such a thing. And try to get on other pro open source podcasts. I bet companies like purism would love any free publicity they can get
Then, I’d you catch on, years from now, look out for Microsoft trying to crush you via some competing index tied to GitHub. Try to avoid the temptation to be acquired by Microsoft. Try to set up your company in a way that convinces foss people that this can never happen, Eg, put some fsf people on the board or something?
Lastly, to make the gnu people happy, make your website usable without proprietary JavaScript and consider open sourcing your client and server code. After all, the valuable thing you hold isn’t the site or tech: it’s the network and traction you build
IMDB was certainly quite ugly for a long time. See:
https://web.archive.org/web/20100712165326/http://www.imdb.c...
Other examples of extremely successful, low design sites:
https://archiveofourown.org/
https://news.ycombinator.com/
Eh its still good advice. Far too often decent UX/UI criticism is waved aside as "who cares about making it pretty" and aesthetics and useability very often go hand-in-hand.
An idea for this: you could require them to commit a file to their repo with a specific name and the content would contain a one time use token to add that repo to a users profile.
Get the designers on board, by all means, but not to make it pretty: make it easy to use, understand, navigate.
If something needs to be pretty before the target audience uses it, it's almost always a vitamin, not a painkiller.
https://alternativeto.net/software/matplotlib/
Not limited to open source products, but maybe that's a good thing so you can find alternatives.
A database of open source software would help when looking for suitable products, personally I tend to scout for open source options before looking into closed options.
If it contained easily searchable/filterable information on license, "activity" (i.e how alive the project is), hosting/deployment options, development language, operating system, it would be great.
Also if it has info on how it accepts contributions, it'd be nice.
Probably you could scrape I formation from GitHub, gitlab and similar sites and you could also let projects supply information for you in a "oss-info.yaml/json" in the root dir of the project.
1. I never discovered any movie on IMDB. I go to IMDB to find trivia, cast or some other fact about a movie that I somehow already knew of.
2. My interest in an open source project will not be influenced by its popularity or any other metrics but purely by what it means to me. I submitted my first PR to an open source project not because it is popular but because it lacked something I needed.
P.S. Thanks to all the nice people who generously contribute to OSS and offer their work for free. Hats off and respect.
@OP: Maybe just finding a way to curate the most popular open source libraries into lists per language, framework, etc would be helpful? For example, for me I'm not particularly interested in all open source projects, but I'm really interested in Django stuff. Hence why I love looking at the awesome-django curated list [3]. Maybe an application to just rank all packages for a given ecosystem? Just spitballing.
[1]: https://www.imdb.com/chart/top/ [2]: https://www.imdb.com/search/title/?title_type=feature&genres... [3]: https://github.com/wsvincent/awesome-django
Was thinking this "ossdb" could work similarly.
TLDR you can't always trust reviews (or peoples tastes). If the Trailer & synopsis hooks ya why not give it a shot when you can always just stop watching if it doesn't pan out.
---
Now as far as an IMDB for open source, I'd say maybe even go so far as doing a Letterboxd type deal? When it comes to opensource projects it always helps to hear what the users are saying about it.
- I did discover interesting movies on IMDB. It was more by chance though, while looking up info on known movies.
- Popularity of a piece of OSS may be important when choosing to use it for an org. Something alive and widely used has better chances of survival in the future, and/or speed of reaction to security incidents.
That said, I agree that IMDB is not what I'd like the directory of OSS to resemble. I'd rather go after imitating tvtropes.
But that doesn't mean it couldn't change if something different were available that gave some (unspecified) advantage.
Imdb is quite good if you're just looking for the best 100 movies ever made.
Then you're clearly using IMDB wrong.
IMDB is owned by Amazon, therefore, their recommendation algorithms are quite good.
And like Amazon, if you create an account and feed it data about your preferences and wishlists, these recommendations get better over time.
I've discovered countless new movies and TV shows I wouldn't have discovered otherwise thanks to IMDB.
Amazon user since day 1 or thereabouts. Their recommendation algorithm has never ever been useful to me. Anecdata, I know.