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?
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.
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?
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.
https://www.freeopensourcesoftware.org/index.php?title=Fresh...
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.
[0] https://en.wikipedia.org/wiki/Freecode
Back then it was Lambda the Ultimate and Freshmeat on daily rotation.
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.
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.
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.
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.
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?
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.
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.
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.
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.
We all used to be dumb teenagers as well.
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.
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.
[0]: https://anvaka.github.io/map-of-github/
Not limited to open source products, but maybe that's a good thing so you can find alternatives.
https://ovio.org/
https://osssoftware.org/ https://selfh.st/
https://osssoftware.org/tools/photopea/
https://alternativeto.net/software/matplotlib/
What kind of planning do you need though, like, "how to build it", or "what would users want"?
I as a potential user would want to see:
Is it actively maintained?
License
Category/compatibility (like want to search for things compatible with remix or react three fiber but not the latest version)
Amazon style product reviews, split between ease of use, bugs
Community quality and links
- Maybe should be an aggregator-aggregator, using github stars and all the various metrics/lists you can find, making formal affiliations with those sites so there's no ill-will?
- Maybe a decentralized governance (or clear neutrality in listing mechanism) to encourage people to participate knowing you're not gonna turn bad?
- Maybe section off a bit more wishlisting projects people WANT to exist (and subscribe to updates on as others fulfill)?
- Maybe a place to complain and critique existing software (closed or open source) and dream up alternatives (like a reverse engineering or UX critique forum?)
- Maybe some affiliates program to get projects to backlink, and/or incentives program to manage a donation pool across projects to pay for advertising and bring more people into the space?
- Maybe plan around inter-project architecture (common libraries in demand) and have people be able to push for the most needed ones?
- Maybe plan around AIs becoming an increasingly large segment of contributors, certainly on more junior/intermediate things, and make workflows to direct their efforts in a simple-to-contribute way (e.g. hook up your compute to an open-source AI coder hosted in the cloud with a TODO list to churn on already vetted by other people/AIs)
All ideas. Good luck! Would love this to exist at popular scales.
https://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.
Open-source may have a similar graph (projects, contributors, sponsors), and could make for a fantastic content/talent discovery mechanism.
However, a lot of IMDb's content is user-curated. What is your content acquisition strategy?
This is fabulous, and pretty much the graph you're looking for: https://anvaka.github.io/map-of-github/
I predict it would soon use three major APIs and leave everyone's private gitea or gitweb install in obscurity.
I also like the idea of consolidating all the "awesome*" lists, which have been very useful for me for discovering software.
But I also like the idea of automated rankings, especially if it can avoid being clogged with clickbait, astroturf, and SEO like some popular software comparison type sites I can think of.
So I guess what you're considering might be kind of a list engine. Build a big meta-database, then provide both curated lists (top rankings, contributor lists, etc.), and user-generated lists.
I think I'd check out such a site
I think it might be interesting to have some comparisons between similar projects.
How does CockroachDB compare to Cassandra? Should I pick Spark or Apache Beam?
It also might be interesting to see timeline of major contributors to various projects as well ( Did the founder of CouchDB leave and go start working on PostGres at one point).
However, because Open Source is often tied to large corporations or startups, I'm sure the system could be gamed, and I'm not sure how you don't get in the situation amazon is in, where some small startup pays to get review bombed so their database is ranked higher than everything else.
What about when someone angry at having their gmail broken decides to go rant about how terrible all the google open source projects are? That seems like a pain in the ass.
So I think overall I'd ask what you want to get out of it personally. If you're looking for a business idea, I would be worried that if it makes a lot of money, github would just clone the best ideas and integrate it into their site. If you just want it to be a small money making side project, then that's probably fine.
If you're looking to do this as a personal project, I would focus on the most technically challenging and interesting parts. If you're looking to make some side money, do what is most popular. If you're trying to start a full time business...probably not enough $$$ and too easy to be copied by github.
Wikipedia bases all its content on the following: "A topic is presumed to be suitable for a stand-alone article or list when it has received significant coverage in reliable sources that are independent of the subject."
This is flexible enough to allow a lot of stuff, but also causes endless debates, discussions and complaints when content is removed. This is (in my opinion) one of the things that actually give Wikipedia value. If everything is permitted, separating spam from actual content is hopeless.
Defining a scope for your application is a must; if you gain even the slightest popularity, every self-serving developer is going to try to piggyback on you. "See, my project is listed on xyz, therefore it's famous and hence I'm a rockstar."
-Do you want to include any project hosted anywhere? -Incomplete/unfinished projects? -Forks? -Do you want to limit yourself to particular licenses? -What about ecosystems such as PyPi, Nuget, npm and all the rest? Code is mainly hosted on github, but do you want to maintain any kind of relation between source and package?
I think this could be handy, both for finding alternatives if you have an issue with a library or if you're looking for "something" that does <abc>.
I assume that's not what you mean though. You wouldn't, for example, list the credits for each open source project, i.e. who were the engineers, who were the QA testers? Or maybe you would! But that seems like it'd be a ton of work, and supporting the changing roster over different versions seems like it'd be a scope nightmare.
(I have always wanted this website to exist, though. I just think it's impossible without a software industry equivalent of the screen actors guild, or MPAA, or whichever entity it is that mandates rules about who gets credit for a film)
Instead, do you mean more like a big searchable list of open source projects? If so, I'd still want to know what kind of information you plan on collecting about each project, to know whether I would use it or not.
It's not particularly search that I'm interested in, more some semi-objective indication of whether a given project is competently put together or not. Broadly, would adding it as a dependency be a good idea. Does it work for other people, do developers already using it like it, do said developers vaguely correlate with things I care about.
E.g. adding sqlite to a project is likely to make it better. C libraries are not all like that.
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.
https://devboard.gitsense.com/zed-industries
https://devboard.gitsense.com/supabase
https://devboard.gitsense.com/ollama
My value proposition isn't the data, but the ability to gather, organize and update data at scale, so giving it (data) away free is not an issue for me.
- https://openalternative.co/
- https://www.opensourcealternative.to/
- https://opensourcealternatives.org/
- https://www.btw.so/open-source-alternatives
By just aggregating everything FOSS, doesn't mean its useful. Its useful in a certain context - such as searching for alternatives.
If you are uncertain how to "plan the product", don't plan -> just start.
It needs a memorable name like wesource or youcode.
You'll probably want a way for maintainers to claim a project (like google allows businesses to do on maps). Community management in general seems hard.
The other hard part will determining relevancy. What do you show on the homepage?
Ad-supported or donation-based?
Look to large wikis and public resources like everymac.com for inspiration maybe.
I honestly had no idea what I was doing when I started it during the pandemic, but I now have about 2k unique users per month, and it seems to be holding itself together pretty well. My best metrics are the google search results which are going in a very positive direction.
IMDb works mainly by user reviews who rate videos from 1 to 10. But personally, I think any system can be gamed, just like GitHub Stars. When I'm interested in the GitHub Top 250 (as equivalent to IMDb Top 250), I just do a GitHub search with a filter for the language I'm interested in, e.g., Python, and then sort by stars. This works good enough for me.
The second question is, you are making something real big if you want to build another website. Will a browser plugin for github work? If yes, go for it.
That's my suggestion
The HN post for it is https://news.ycombinator.com/item?id=39639386.
If you are junior developer interested in learning development or a specific technology, it would be great project to build and open source though.
List your fav features of IMDB that you want to emulate in your project. Then, scope your project to something you can do in 3 months and do it and show off to users and get feedback. Then, after that figure out what to do next.
> What do you think about this idea?
There are common fallacies and pitfalls when someone says they want to do "like X for Y". (Like Uber for shopping etc). Learn about them and make sure your idea isn't suffering from those same issues.
The idea of a imdb for open source is really cool, cracking the code to get industry buy in will in my opinion be the way to ensure a long tail of value for anyone using it.
You can chat with GPT to help you plan things. It’s really good for this type of stuff.
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.
I want to build x that does y using z, where you your database has x y and z - but maybe x y and z's own github pages don't explain what their code is capable off as well as you do. I think that would add value to what already exists.
For example, "Free Photoshop alternative" is a lot more likely scenario where such service might help. Btw I think https://alternativeto.net is pretty good for that.
I could be specifically looking for, or flexible on details like: desktop GUI app (native? not electron? tauri ok?), a webserver with web UI (I might be picky about database, docker, backend language, front-end language), or CLI tool.
The code for OpenAlternative is on GitHub if you want to use some or take inspiration.
So, do something that provides the functionality you need. It might be useful to others but probably not.
I think that a search function that also enables filtering on attributes would be useful, but an 'IMDB' for open source projects sounds like a terrible idea.
I see someone has recently tried to redo it under the name libs.field on GitHub.
Is it to discover tools that solve a specific problem?
Is it just for entertainment purposes?
I am not a heavy IMDB user but I just go there to get actor names by movie title or lookup rating by movie title.
Is it something you are building to track contributors across projects?
I already see how I would be even more solicited on LinkedIn...
Let me also say that you learn more from failure than success, so even if this goes as I predict, you'll learn a lot about this kind of idea, and that alone may be worth it.
I predict the project will fail. Here's my thinking;
Firstly, projects should always start with a revenue model. You didn't mention one so either you chose not to mention it, or you don't have one. This project will cost money every month, in hosting fees if nothing else. If it becomes popular it'll fail because you can't afford it.
Secondly it'll fail because the data needs to be curated. If it isn't, and it becomes popular it'll be buried in low-quality submissions. There are thousands and thousands of everything released as open source. 99% of it is rubbish (just like commercial stuff.)
Curating costs time or money. Once you get a day job, or another OSS idea, this one will lose your attention, and with it any sense of quality.
Lastly there's a network effect problem. To be valuable you need the directory to be populated. To get populated it needs to be valuable.
As a bonus, someone else proposes such a directory every other week. Some have been successful for a while. But they don't stick around. Why do you suppose that is? Why doesn't a quality directory already exist? The idea is not novel, sooo ..... ?
Good luck!
It also doesn't contain all open source software. I'd be surprised if it even has most of it, but I don't know.
Just look at the state of https://openhub.net/ .
https://alternativeto.net/
No alternative to it that I'm aware of.
https://github.com/paradite/frontend-encyclopedia
2. i don't know, but don't plan, just cobble up something first, some barely working POC. Then you'll have a solid ground for fruitful discussions and feedback.
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 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.
Seeing how people behave on ratings sites, it's pretty obvious that this can open up developers to abuse and harassment, if it gains popularity and traction.
what's missing are curated lists of projects you need to use for a specific reason: you want to setup a web site? which framework do you use, db, api style, formatter, linter, etc what about SIMD libraries? Java unit testing?
How will your search function be better than Google? (and how and who will classify projects?)
2. If it is important to you, build a ShowHN. Don't plan, just build and be ready to pivot. Don't expect people to help you.
What most people want is not a list of tools. They want an expert opinion.
IMDb works because movies are passively consumed; have a short period of engagement and there aren't many of them....a few hundred theatrical releases a year in the US.
Good luck.
* You should be able to easily tell how the project is hosted. I prefer containerized applications, but there's people who don't. Sometimes they make you install their own hosting platform - yuck.
* If a paid version is available, how much is it? Are the features provided by that paid version big important ones or it is mostly just for support?
* If there are screenshots, an easy screenshot browser would be nice. Many projects either do not provide them, or they're in the Github repo which doesn't have an easy left/right browse functionality. I want to know if the UI sucks before spending the time to deploy.
* What's the most comparable commercial project? How does it excel and how does it fall short? Perhaps a (moderated) comments or reviews section would be worth it here.
* What about interoperability with other popular tools? It's difficult tell sometimes if a project supports something as simple as LDAP. This would depend somewhat on the product which features are shown.
* Ffs please provide a semi meaningful graph of forks. The way Github does it with Insights is nearly useless.
I suppose it would benefit to ask people with a reasonable amount of experience for a given field what they want/need too. That's not necessarily something you'd see on the site, but it'd be done in the background. For instance, I want 3MF support for 3D printer slicers, but that's not relevant for a kanban board.
As far as interfaces, I enjoy the filtering provided by sites like Texas Instruments or Analog Devices for electronic components. They really managed to figure that out.
Good luck with your project! I hope it succeeds, I would very much enjoy such a tool.
Reviews might be a good differentiator, but obviously that's hard to get content for.
IMO almost no directory projects get both the wiki and database parts right like wikidata and vndb do (at two very different scales). Those two have in common: (come to think of it, so does OpenStreetMap mostly):
- query builder in addition to the search form [1][2]
- web query runner (SQL, SPARQL) [3], both with a custom backend [4]
- open data license (ODbl, CC0) [5]
- db dumps as files over http [5]
- (A)GPL source. Both also self-host their git web ui [6]
- no login-walls, and no ads
[1] with relational subqueries https://vndb.org/v?f=["and",["olang","!=","en"],["staff","!=...
[2] wikidata's is experimental and incomplete https://query.wikidata.org/querybuilder/?query={"conditions"...}
[3] https://query.vndb.org/?sql=SELECT+'https://www.wikidata.org...
[3] https://query.wikidata.org/##defaultView:ImageGrid%0ASELECT%...
[4] https://dev.yorhel.nl/sqlbin [4] https://wikitech.wikimedia.org/wiki/Wikidata_Query_Service
[5] https://vndb.org/d14 [5] https://www.wikidata.org/wiki/Wikidata:Data_access
[6] https://code.blicky.net/yorhel/vndb [6] https://gerrit.wikimedia.org/g/mediawiki/extensions/Wikibase