
Sourcetrail, interactive source explorer, is now free and open-source - egraether
https://www.sourcetrail.com/blog/open_source/
======
McKayDavis
The site seems to be having intermittent connection issues due to the HN hug-
of-death. In the meantime here's their Github repo:

[https://github.com/CoatiSoftware/Sourcetrail](https://github.com/CoatiSoftware/Sourcetrail)

~~~
ComputerGuru
Thanks for the link; the site is indeed down for me.

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.

~~~
darrenkopp
It's also fairly high up on a few subreddits, so it's not just HN traffic.

------
franga2000
This going open source is just wonderful, but I have a feeling this is going
to significantly decrease lower the company's revenue and ultimately hurt the
product.

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...

~~~
pimterry
I'm a little disappointed that they've gone down this road - I don't think
donations is a good model for most open-source tools.

I'm building & selling a 100% open-source product myself
([https://httptoolkit.tech](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](https://github.com/pimterry/loglevel))
funded by donations via tidelift: [https://tidelift.com/subscription/pkg/npm-
loglevel](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/](https://gitroyalty.com/).

~~~
y4mi
Did you guys read the same blog post I did?

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

~~~
pimterry
> It sounded to me like they weren't able to get enough revenue going for
> their work, and are basically throwing in the towel.

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.

------
glouwbug
I've been following sourcetrail since the author did his cppcon talk. It does
the job well - I remember loading Wolfenstein 3D into sourcetrail and watching
the call graph explode from a single point of MAIN into a massive menorah of
calls, all winding back to a circular buffer, and finally a single point of
FREE. It was beautiful, and it's bittersweet to see the author go the open
source route. I had high hopes for their commercial success.

Thanks for sourcetrail.

~~~
srikz
Can you provide a link to the talk? I tried searching on mobile and failed.
Will try again later today and post it here if I manage to find it.

~~~
ash
C++Now 2018: Eberhard Gräther “The Untapped Potential of Software
Visualization”

[https://www.youtube.com/watch?v=fnIFVYFspfc](https://www.youtube.com/watch?v=fnIFVYFspfc)

------
anigbrowl
I don't get all the posts saying it's sad that it didn't take off
commercially. No obstacle prevents grateful programmers from enriching the
creators of a useful tool, and expanding the audience of likely users
increases the probability of that happening. It's a great looking product
(that I had not been aware of when it was commercial) and deserves wide
adoption.

~~~
01100011
It's odd that we're so reluctant to spend money on quality tools that increase
our productivity. It pains me to spend the $300 for my editor even though it
has paid for itself dozens of times over. I think we're spoiled by open
source(and shareware before that).

~~~
ausjke
totally agree, after years of vscode/geany/eclipse/whatever I now pay full
annual license for the jetbrains bundle, so that I can focus on coding better,
much better.

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.

~~~
ausjke
downloaded it, it seems only works for cmake or you have to have a json
database, stop here for now. I would think it can analyse the code directly,
as source-navigator did to me. the UI looks shiny, but as far as usability
goes, this requirement of cmake/compile.json is one step backwards to me.

------
bachmeier
"supporting C, C++, Java and Python" in case you're wondering which languages
are supported.

------
jclay
It's sad to see Sourcetrail didn't make it as a commercial product. I really
enjoyed it when I tried it out a year or so ago.

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?

~~~
egraether
Applying the tool on your codebase should be easy. For us, using the Clang
Compilation Database format, that already holds all configurations to build a
project was of great value for faster C and C++ project setup.

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.

------
JoachimS
Has anybody tested Sourcetrail on Sourcetrail?

------
m463
Making tools is a hard business to be in, because the customers are very
specialized and few in number.

You also tend to compete against free tools (either via licensing or vendor-
giveaways)

------
gwittel
I bought Sourcetrail a few years ago. It’s been highly useful in diving into
large, unfamiliar projects. Thank you! I hope the open model works for you. I
know the cost stopped some of my co-workers from buying it.

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.

------
guruz
A similar product is the Woboq Code Browser for C/C++:
[https://code.woboq.org/](https://code.woboq.org/)

It's with open source but not free software:
[https://github.com/woboq/woboq_codebrowser/](https://github.com/woboq/woboq_codebrowser/)

~~~
randoramax
> It's with open source but not free software

What do you mean?

~~~
rovr138
Open source does not have to be free.

For example, you buy the software and with it you also get the source code.

~~~
cheesie
>Open source does not have to be free.

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.

------
hoistbypetard
I wonder if selling integrations with language server[1] implementations would
be a way to multiply the customer base enough to make this viable as a
business.

[1]: [https://langserver.org](https://langserver.org)

~~~
lstamour
It’s come up before and it’s harder to do via LSP, though the servers
themselves would be great as an educational tool on what’s required.
[https://github.com/CoatiSoftware/Sourcetrail/issues/685#issu...](https://github.com/CoatiSoftware/Sourcetrail/issues/685#issuecomment-549225704)

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.

~~~
hoistbypetard
That makes sense. Thanks.

------
agambrahma
Came here to say I paid for this a couple of years ago and found it very
useful (ended up using it on both C++ and Java codebases), do give it a try.

Sad to see that it didn't make it as a commercial product (wonder what lesson
to draw from this ...)

~~~
hoistbypetard
I'm not sure what lesson to draw either, but I kind of suspect that the
situations where this tool adds the most value (e.g. a developer needs to jump
into a code base without anyone around to help orient exploration) are also
the situations where there's least likely to be funding. And in that
particular example, if the developer is new to the org, it is a situation
where they're unlikely to know how to/feel comfortable asking how to gain
funding.

~~~
johannes1234321
Such a tool is not only useful for a junior. It is also useful for (incomplete
list I assume)

* 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)

~~~
TeMPOraL
Yes. Also, unless you define seniority on a per-company level, derived from
actual time spent in the company, then you'll have plenty of senior developers
landing in the middle of a legacy codebase that's new to them.

(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.

------
ssalka
Really would love a tool like this with support for modern JS/TS repositories

------
khalidshaikhmo
I indexed a few samples. It looks pretty good. Can't use it for work, but
definitely makes it really fun to look at source code. Java is 3GL. Python is
4GL.

------
fleur-de-lotus
Any chance of a Python3.8 support?

------
fleur-de-lotus
It refuses to run under MacOS Catalina, for security reasons.

------
Jahak
Wow, that's very cool, thank you so much

------
senthilnayagam
hope they release a notarised version of the app for it to work on macOS
Catalina

~~~
sjwright
Right click (or control click) the app, click open, then click open in the
dialogue box.

