I was a happy licensed user for the Java project I was working on, but had to stop using Sourcetrail when I switched jobs and started with .NET and TypeScript. So I’ve been working to create indexers against their open source SDK in the last few weeks. That the project is now open source means it’s making my spare-time effort of writing an indexer that much easier, and I personally look forward to contributing more to the project. I think graph visualization of source code has a bright future ahead of it, and there’s plenty of opportunity to crowdsource improvements to Sourcetrail that will benefit even more developers. This seems like a smart move... if they can financially support themselves at an open source initiative like this.
If anyone wants to pitch in on the TypeScript indexer, I’ve an SourcetrailDB SDK diagram I put together at https://github.com/LouisStAmour/SourcetrailTypescriptIndexer... and a thread with ongoing notes and Node.js bindings at https://github.com/CoatiSoftware/SourcetrailDB/issues/2#issu...
Honestly HN generates nowhere near enough traffic (from experience) that a site with any semblance of sane design/architecture cannot handle on even the constrained resources of a RaspberryPi.
Reddit /r/all on the other hand, I can understand.
So here's my question: how do we avoid that? Outside of freelancers who control their finances directly, most developers probably won't be able to convince their company's money people to pay for something they can get for free. Paying a relatively low annual license can usually be justified for the sake of efficiency, but "donate to the devs to keep the project going" is a much tougher sell.
My only idea is selling a "subscription" to signed binary builds under a non-free license, but I'm not sure that would work very well either...
I'm building & selling a 100% open-source product myself (https://httptoolkit.tech) funded by a paid but still open-source premium tier, and I also have a popular open source library (https://github.com/pimterry/loglevel) funded by donations via tidelift: https://tidelift.com/subscription/pkg/npm-loglevel.
So far, with far fewer users, the paid tier is a _dramatically_ more effective option: it makes nearly $1000 a month, and increasing, while donations make $50 a month. The latter library is a small package, but it is a small package that's installed 6 million times a week, so there's a huge volume of software depending on this. The former app has a few thousand monthly users but similarly isn't something that your whole business is typically going to revolve around, it's just a useful tool.
Imo, unless you're huge or you're going to become a really fundamental part of people's business, donations aren't going to work. Small libraries or occasional-use tools just won't get there. If you're webpack it's great, and I do think it's super valuable for those cases, but most projects aren't webpack.
However for almost any tool you can separate the power user/enterprise features from the basic features, and then put the former behind a simple paywall. It can remain open source, so the determined can fork the whole project and remove the paywall easily if they prefer, but for any large organisation that doesn't really make sense from a time or ongoing cost perspective, and you either miss out on all future development, or you have constant work to merge upstream changes with yours. Alternatively, you pay $10 a month and the problem goes away.
So far so good, and it feels like a win-win. Hard to translate to libraries I think, but there's interesting developments here like https://gitroyalty.com/.
It sounded to me like they weren't able to get enough revenue going for their work, and are basically throwing in the towel.
To me, it sounded as if they're hoping that their audience increases to a degree that the donations will finally be able to make their livelihood sustainable... Or not, which will make this a side gig
I sort-of agree. I don't think they're throwing in the towel completely, but clearly their current model isn't working, and they need to try something else, and they know that that might not work either.
Nonetheless: they want an alternative model that might make this sustainable, and I suspect they'd have better luck trying an open-source with a paid tier model, rather than pure donations.
I've never used the Sourcetrail, but I suspect there are some simpler and more advanced features involved. They could open source it as here, but put the advanced features behind a simple paywall. That would still give the benefits of open sourcing (more community engagement, wider usage of the tool itself) whilst being far more likely to drive the heavy/enterprise users to actually pay for it. Asking people nicely for donations is much less effective than asking for money to use a valuable feature.
Thanks for sourcetrail.
I do keep my vim around though, for any command line related editing vim will be my first choice, otherwise it will be jetbrains GUI.
I really missed source-navigator which is outdated badly these days, sourcetrail seems the new alternative finally. source-insight was pretty good too but it has no linux version.
Obviously the server is under heavy load, the page is barely reachable and the download stuck at 74MB. Will test this later.
When you can get something like Notepad++ (or similar) for free, paying for Sublime (or similar) feels like a rip off, even if the latter may do one or two things better.
Also quality rarely gets into the equation: a program that does 28378482 features in a half-baked way for free is often seen superior than a paid program that does 1/1000th of that but what it does it does in a higher quality.
I appreciate the retrospective on the hurdles you faced. Could you share some learnings for things that did work? I could tell you spent a lot of resources getting the onboarding flow correct (Visual Studio Project Import was nice!), anything related to onboarding-related learnings you can share?
You cannot convince developers to use a tool with just words. They need to experience the benefits first hand. And getting to the benefits should happen as fast as possible after starting to test the tool.
You also tend to compete against free tools (either via licensing or vendor-giveaways)
For others, I suggest giving it a try. The only issues I’ve run into is when a project has a build setup that won’t work on your machine. It still works, you just can’t dive as deep.
It's with open source but not free software: https://github.com/woboq/woboq_codebrowser/
What do you mean?
For example, you buy the software and with it you also get the source code.
If we're using the common definition that everyone in the industry uses, then it actually does.
In fact, Open source was coined in 1998 because we needed a term with a precise and well defined meaning.
I don't know anyone who uses the term open source in the way you describe.
Additionally, creative commons do not recommend their license for source code and software works because software has specific needs that cc was not developed with in mind.
If indexers were to be maintained separately, the only thought I have is something based on an IDE like Eclipse or IntelliJ, or something based on SourceGraph. To that end, I think open sourcing will do more to support usage, and usage would drive further licensing/support...
It’s possible there could be add-ons sold to help refactor code or maybe a web-based version, perhaps merging with SourceGraph as a client? Or use in code review? Lots of possibilities, perhaps, just not easily/quickly commercial I would think without further development first.
Sad to see that it didn't make it as a commercial product (wonder what lesson to draw from this ...)
* The consultant coming to a project for a short period of time
* The software architect, observing the code layout periodically (for example to identify where lower layers of the software depend on higher layers)
(And then, there are projects you look at very briefly. Just a few days ago, I used Sourcetrail to explore a certain research CLI application. I mostly needed to know how it does a few particular things, and Sourcetrail was useful for finding my way around the exceedingly complex class graph quickly.)
There's no good tool out there for reading source code. Sourcetrail is a step forward that's useful for anyone.