Every single developer that used Sourcegraph and talked to me about it loved the product. I think that every code product must have intelligent navigation.
I saw you already responded to my tweet in https://twitter.com/sqs/status/1046986755919024129 We're looking forward to add Sourcegraph to GitLab by default and it is awesome that you offer to do the work.
Thanks for choosing the Apache license which will make this much more acceptable to some companies then for example AGPL.
The road to complete integration in a product is a bit longer as it takes collaboration if the product isn't open source. This is what we'd like in every product we integrate with.
However, I just did quite a bit of refactoring to make it easier and more straight forward to add support for new code hosts to the browser extension.
If you want to add support, we'd gladly accept a PR!
Always feel free to reach out and ask questions. Check out how it's done on GitHub, GitLab and Phabricator here: https://sourcegraph.com/search?q=repo:graph%5C/browser-exten...
In this case, what's the best process to start, should we open an issue, or send support email?
Cheers
A good place to start would be opening an issue on your product's issue tracker and start discussing requirements there.
This is exciting!
Thanks for building a great product with clean APIs and user interfaces that are easy to integrate with!
- We are a pretty small shop, only 3 developers, and looking at Sourcegraph for the first time. We have a full Kubernetes cluster for running some of our production applications and would be happy to run this there. The Sourcegraph site lists a Quickstart instructions and instructions for Data Center. I am unsure what exactly the difference between them is.
- The Docker image for sourcegraph/server (used in your Quickstart instructions) doesn't have a Dockerfile listed anywhere. Is that available somewhere?
- The Quickstart instructions also seem to instruct mounting the Docker socket into the container. I haven't seen anything that explains why that is required.
Basically wondering which version I should be looking to deploy for our small team.
- The Quickstart instructions[1] describe how to set up a single-machine single-container Sourcegraph instance, which is recommended for small teams. Our Data Center[2] offering is for large teams and runs Sourcegraph across multiple machines in multiple containers for high availability, scalability, etc.
- The Docker Hub image sourcegraph/server is the official, free Sourcegraph build is called Sourcegraph Core and it includes various paid enterprise features built in so that upgrading to Sourcegraph Enterprise is easy (you only need to supply a license key, rather than migrating to a new Docker image). So, the exact recipe for building it is not open-source. However, we use the same exact Dockerfile in Sourcegraph OSS[4] which you can take a look at.
- Each language server providing code intelligence will run as separate Docker container. By mounting the Docker socket into the container, Sourcegraph can automatically start/stop/manage these containers for you. However, this is not required, and in the case of Kubernetes deployment we do not recommend it, please see the "Manual Installation" section of our Code Intelligence docs[5] for more information.
[1] https://about.sourcegraph.com/docs
[2] https://github.com/sourcegraph/deploy-sourcegraph
[3] https://about.sourcegraph.com/pricing/
[4] https://github.com/sourcegraph/sourcegraph/blob/master/cmd/s...
[5] https://about.sourcegraph.com/docs/code-intelligence/install
From[1]: "If you do not wish to pay for code intelligence, you can disable language servers in the Code intelligence section of the site admin area."
The pricing page however says that feature is included in the free version. It just doesn't seem to make sense to me.
[1] https://about.sourcegraph.com/docs/code-intelligence/install
Here is how I added GraphQL support last week:
- Follow the hello world tutorial https://github.com/sourcegraph/sourcegraph-extension-docs/bl...
- Add logic to handle hovers and definitions https://github.com/sourcegraph/sourcegraph-graphql
- Write the server part https://github.com/chrismwendt/graphql-ws-langserver (once a browser-based GraphQL analysis library exists, this would be unnecessary because the analysis could be done entirely in the browser)
It's available at https://sourcegraph.com/extensions/chris/graphql and once you enable it you can test it out on a GraphQL file such as https://sourcegraph.com/github.com/chrismwendt/graphql-ws-la... (it's pretty slow/janky at the moment and could be improved, but works).
If you're interested in interfacing with other tools too, you might be interested in LSP (Language Server Protocol):
- https://microsoft.github.io/language-server-protocol/specifi...
What features (other features, if any) are you specifically interested in? It would be awesome if you posted feature request issues on the open-source repos for sourcegraph/sourcegraph or for the editor plugins!
The two most popular editors used by programmers...
Sigh
- https://github.com/sourcegraph/about/blob/master/projects/ex...
- https://github.com/sourcegraph/about/blob/master/projects/so...
- https://about.sourcegraph.com/blog/discuss-code-and-docs-in-...
along with a whole host of improvements to code search, code intelligence, self-hosted deployment on a single node and k8s, etc.
Happy to answer any questions folks have about our open sourcing. I summarized the business case at https://twitter.com/sqs/status/1046913901688807424. And we went with the Apache License (2.0) and an open core model because that's about as standard and as open as possible for this kind of thing.