Sourcegraph CEO here. We have large enterprise customers using Sourcegraph and are excited to release it publicly (with source code) so anyone can start using Sourcegraph for their team’s code.
Feedback is much appreciated!
More info at the announcement blog post and at Sourcegraph.com.
Looks neat, I like the features. I often find myself browsing github for something, then having to jump back to IntelliJ so I can follow method calls and “find usage”.
How does the “inline discussion” stuff work once the code has completely mutated past what it once looked like? Is there some kind of timeout that makes these notes fade over time?
This might be a strange question, but is it possible to register via github sign-in? The biggest benefit (imho) to github for OSS projects is the network effect: anyone can stop by and send a PR, file a bug, etc. Having your own tracker definitely brings tech benefits, but the downside is that there is more friction to getting outside people to contribute. Or perhaps this is really targeted more for internal development that isn’t necessarily OSS?
Probably just my connection (DSL yay), but many page loads are super slow for me. 3-14 seconds in many cases, and it looks like the json XHR RPC calls are doing a lot of it (long load but only a few bytes).
Any chance of getting Rust support? :D
EDIT: srclib looks neat! Will have to poke around that a bit more :)
Thanks for checking it out! We’ve resolved some perf issues and the site should be faster now. If it’s still slow, can you send me the page URLs that are slow (email@example.com)?
Inline code discussions are currently tied to a line range in a file at a specific version, which makes them useful as a jumping off point to filing an issue in Sourcegraph Tracker. In the near future, we’d like to make them attachable to specific pieces of code (e.g., a function definition), as well, and in this case, the comment can remain as a relevant contextual item for the duration of the lifetime of the function. I like the idea of fading discussions out over time, as well.
Rust is on the roadmap, but we welcome any and all contributors to srclib, our open-source core code analysis library :)
We don’t support GitHub sign-in currently, but that’s something we’ll consider in the future.
It’s a great announcement!
Hey, thanks for checking out Sourcegraph! Apologies for the slowness on the site yesterday. We’ve been working through some performance issues and it should be much faster now.
We use server-side rendering for the mostly static parts of the site – good for SEO, performance, etc. For the more interactive parts (code browser, etc.), we use React to make more dynamic features like the code browser pop up box and smooth jump-to-def within a file.
This looks really nice. Particularly once there is more language support it seems like it’ll be better than the other tools I’ve used. I did notice a bug, in Safari (9.0.1 on OS X 10.10) the following link appears to have a redirect loop:
Edit: Beyond Go & Java I’m particularly interested in Python (painful to analyze, I know). The other items on my wish-list would be Protobuf (if Sourcegraph could understand the correspondence between the generated code and the original file), Swift, and Objective-C. In an ideal world you’d be to jump-to-definition across RPC boundaries (say iOS client into Go server code) but there’s probably no sufficiently general way to do it to make it worth doing.
I’m interested in this but I’m hung up on the bespoke ‘Fair Source’ license. You mention that it is meant to be used as Fair Source ___ where blank is the number of users before you have to start paying. But I don’t see a user limit anywhere on the site. Without that limit specified can it be assumed to be infinite? It’s hard to sell new licenses inside an environment where the lawyers have already taken on the GPL vs LGPL vs BSD vs MIT vs APLv2 and drawn lines on what they want to risk litigation on.
Thanks for the question. The use limit (15) for self-hosted Sourcegraph is specified in the LICENSE file: https://src.sourcegraph.com/sourcegraph@master/.tree/LICENSE. Sourcegraph.com is free to use for everyone.
We worked with a well-known open-source lawyer to draft Fair Source. If you’re using Sourcegraph for a team of above 15 people (and paying us to do so), then it would be a standard commercial license. Fair Source enables us to make the source code publicly available and to let teams with fewer than 15 users try it out both free as in freedom and free as in beer.
So, I think you’d raise a lot fewer hackles if you totally reworded your elevator pitch on fair.io:
The Fair Source License functions just like an open-source license—up to a point. Once your organization hits the license’s specified user limit, you will pay a licensing fee to continue using the software.
It’s not at all open-source. You’re restricting my right to redistribute, I can’t meaningfully sell my modified version, etc. It’s shared source with free for N users. Maybe something like:
The Fair Source License grants everyone the ability to see the source code and makes the license free for a limited number of users. It attempts to offer some of the benefits of open source software while retaining the ability to profit from a codebase.
I have nothing wrong with trying to sell software - but when you (unintentionally or not) make it look like you’re being “open source” you’re going to have a bad time.
Excellent to know. I should’ve checked the source… :) I looked at your lawyer’s blog and they do seem to be legit which is a selling point. I would say that I wouldn’t have a hard time selling this to the powers that be.
That said I’d really like to see C/C++ support in srclib. Thanks for the response.
C/C++ is on the roadmap in the next couple of months. Shoot me an email at firstname.lastname@example.org and we can let you know when that’s ready :)
In the meantime, feel free to check out our code analysis library, which is completely open source: https://srclib.org
Would be really interesting to see this with .net support as well as with mercurial repositories! Too bad the license is so restrictive :/