13 ms·
David here from Sentry. Just saw this ended up on HN. Happy to answer any questions about how we approach open source, the business, or anything else about Sent
by zeeg 10y ago
David here from Sentry. Just saw this ended up on HN. Happy to answer any questions about how we approach open source, the business, or anything else about Sentry.
- fiatjaf 10y agoWhat if another company takes open-source Sentry and start offering hosted versions of it, competing with Sentry.io and in the end putting Sentry.io out of the market? Would that make you regret making your software open-source? I guess this is probably not an issue for Sentry as it is now, but imagine some small company with a new software-as-a-service, super useful and loved everywhere, but without a well-established "name" in the market yet. Does the same answer still apply?
- zeeg 10y agoThere's only two things we really consider as protection of our product and brand: 1. It's a big project, we are the experts (and the only real committers to the service). We also control commit access, so unless you want to maintain a complicated fork it's just not in your best interests. 2. We own the trademarks. This doesn't always help, for example this is literally a copy paste of our previous homepage: http://getsentry.cn/welcome http://getsentry.cn/welcome That said, there are companies out there who absolutely violate the 'spirit of open source' and use our code for other commercial entities. While we're not preventing them from doing that, I promise you we (and many of our users) absolutely look at that in a negative light. In a lot of ways, we're trusting that the fact that our advocates, who are developers, are also willing to do the right thing. As you mentioned, this isn't really a threat to Sentry these days, but it was a fair concern two years ago. I think you really do have to put trust in the fact that most people aren't evil.
- fiatjaf 10y agoI see that copy-pasting and using Sentry's name is, but if a competitor credits you, but still offers the hosted service, would you consider it evil? I have the impression that someone doing it would have a better image even with people loyal to Sentry: "well, these competitors here are not bad guys, just Sentry users like us, the only difference is that they are offering hosted Sentry for lower prices!". (I'm not talking about the legal stuff, I'm completely ignoring it)
- zeeg 10y agoUnless you want to maintain a fork we could very easily make life difficult ;) I don't have a concrete answer, but if it happens you just gotta work around it. Not much different than having a dozen competitors trying to do the same thing as you. I think it's very easy to see you, as a commercial business, wouldn't want to put all of your livelihood on a project that has 150k lines of code and you know very little about. That's obviously not true for every project, but if your project is so simple there's no reason I couldn't just reimplement it anyways.
- jordigh 10y ago> I guess this is probably not an issue for Sentry as it is now It kind of is, with Opbeat as their competitor which forked off from Sentry, but Opbeat have also kept the code that came from Sentry free.
- the_mitsuhiko 10y agoOpbeat forked the clients not the server. The client forks are fun because we are still credited in their licenses. Most of our competitors have their clients open source so that is not really a concern anyways.
- mperham 10y agoGenerally you license the code so competitors have a disadvantage e.g. with GNU licenses, they may have to open source any changes they make. As the copyright holder, you can do things with the code that they cannot (since you don't have to follow license restrictions), i.e. create premium features.
- the_mitsuhiko 10y agoThat's one way to do it but we (Sentry) don't do that. Our server software is BSD licensed.
- zeeg 10y agoThats a common situation, but we explicitly refuse to do that. I have a strong opinion that it doesn't represent what open source should be, and thats absolutely free software. I do understand that some things are considered necessary, but we're trying to prove thats not the case. It's also something that can limit the adoption of your product. I've worked with companies in the past have either refused to use allow GPL software, or would have a significant audit process you'd have to go through to be able to use it.
- nickpsecurity 10y agoWhat do you think about using a license that forces freeing any changes to what you shared but doesn't affect anything linking to it dynamically or statically? As in: http://zeromq.org/area:licensing http://zeromq.org/area:licensing Additionally, patent license provisions for using the shared code seem almost mandatory given the patent trolling we're seeing of both suppliers and users of whatever they manage to get through a patent clerk. All the FOSS licenses should try to include some protection there against beneficiaries suing derivatives.
- zeeg 10y agoDefinitely not a license expert here. Lots of legal folk I trust would stand by "Apache and only Apache" for releasing FOSS, and I think one of the core reasons is patent protection. We may re-license Sentry at some point to Apache just because its a more understood model and as a growing business that may one day be important. It's also nice that it provides good out of the box tools that are widely supported (e.g. the CLA).
- fiatjaf 10y agoThe most basic question: if people can host themselves, why do they pay for your service? I get that for large companies it is perhaps better to just pay for the software as a service than to have an internal team dedicated to run it, but for small and super-small companies it is perhaps better to host it -- while accepting some (little) maintenance work and some risk of crashes for the low price. So, if I'm building some software that will be used mostly by small teams, how can I make it open-source and still make money by offering it as-a-service?
- zeeg 10y agoThere's a lot of things, but at the end of the day its marketing, and ensuring you challenge your customers to think about what really matters: 1. You, as a developer, care about open source and want to fund it. 2. You, as a business, don't want to run more infrastructure. 3. You, as a business, care about expenses (and SaaS is cheaper). 4. You, as a developer or business, want the latest and greatest version all the time, and on-premise is not tailored to that. (there are certainly more, but this is just some quick ones that come to mind) For us a lot of these things come more easily as Sentry requires Serious Infrastructure(tm) unless you're a tiny little side project. If you are a tiny little side project, you can just use our SaaS for free. Now on the counter side, the biggest reason you host it internally is compliance. Thats not usually legal compliance these days, but its more about controlling liability, or because you (usually incorrectly) think you are better at securing systems than other people. This has been shifting for a while with the rapid rise of AWS, and the time is absolutely right to focus on SaaS.
- fiatjaf 10y agoIf SaaS is cheaper, then that's the only argument we need. But it isn't clear that SaaS is cheaper. I run a small SaaS thing for which I charge $19/mo from a dozen clients. Each one of these clients could run it for $7 on Heroku. Someone could easily write a "Deploy to Heroku" button in no time. I also thought about the free plan Sentry.io offers. That, as you said, eliminates all the small projects need to host themselves, but (I'm guessing) it isn't something that all companies can afford: offering so generous free plans. I want to open-source it, but I'm afraid I'll lose all my income.
- codemac 10y ago.NET and Swift were open sourced after long periods of being closed source (swift obviously shorter). What were the positives and negatives of going open source earlier?
- zeeg 10y agoIt's much easier to start open source, rather than tack it on after the fact. Depending on your business, it could also be a huge advantage. For us, being open source means companies like Uber and Airbnb, whom have ample engineering expertise, can still use Sentry. In another world they might have rolled their own. This opens up a big opportunity that you can take a number of business directions: - a hosted offering (effectively what sentry.io is going for) - paid on-premise support (we offer this as well to select customers) - on-premise enterprise offering (open core) I'm not a big fan of the distraction of doing both on-premise and SaaS (thus our stance), and I really would love if we never have to build crippleware (open core).
- intrasight 10y ago.Net and Swift are languages/runtimes. I fail to see the analogy with application software.
- ocdtrekkie 10y agoI am thrilled to see more companies doing this. One of the key points that's not mentioned in your article, is that this provides incredible confidence to anyone who wants to design and build around your service. If you go away, or if the price becomes unreasonable, or for any other reason they have to, they can simply run their own copy.
- scrollaway 10y agoDavid, I've wanted to tell you for a long time: thank you. You probably don't remember me -- I was an admin on the wowdev wiki, way back. GitLab and Sentry are my two favourite examples of successful open source companies. Sentry, the tool and the company, are both really awesome - it's been crazy useful to us at HearthSim and has served me personally really well since its first versions.
- nevir 10y agoDitto! And it's awesome to see all the cool things David's accomplished since his early MMOing days :P (I worked with him back in the day on Warcry) Sentry is a fantastic tool; use it every day.
- connorshea 10y agoIt's really awesome to have an open source option for error tracking, we use it at GitLab and its been great. Kudos to the Sentry team, and thanks for entertaining my conversations on twitter every once-in-a-while :)
- slig 10y agoHi David, Is the plan/user/payment management also open source? I mean, if I were to start a small SaaS service written in Python, could I use your code to bootstrap the "boring parts" of it? Thanks!
- zeeg 10y agoThat part isn't. Not so much because we care about it being closed source (a bit), but more because there's little to no value in it being open sourced.
- ecnahc515 10y agoJust curious, what do you guys use for payments and/or billing?
- zeeg 10y agoBilling is all based on Stripe, so its not super heavy by design. We basically just synchronize the data that's in Stripe. That's changing a bit as we work towards a new model, which requires a lot more internal systems to coordinate, but generally not too complex still.
- slig 10y agoI see. Thanks for replying!
- artpi 10y agoI love that you are also working in the open! At Automattic we do a lot of Open Source development. You can even see my PR introducing Sentry to our frontend: https://github.com/Automattic/wp-calypso/pull/2107 https://github.com/Automattic/wp-calypso/pull/2107 (Unfortunately removed, we are running custom solution right now, but thats another story..) How are you dealing with discussions across your team on Github? Sometimes, we have to link to some discussion that is not happening in the open because of this or that business reason and we have to provide a context for colleagues but not everyone else. At other times we want to encourage external contributions but some decisions happen outside of GH and contributors don't feel included. Have you come across similar challenges?
- zeeg 10y agoIt's really tough. Even basic problems are extra painful because of the limited tooling on GitHub. One major problem that is still ongoing is code review. How we act on our own mandatory code review requirements as well as make sure we are responding to community issues and PRs. Another big issue was the number of repos and lack of good centralized views. We've sort of simplified this by moving things into monorepos (e.g. All our plugins are going into a single repo). The major missing piece for us on GitHub is being able to assign to teams vs just mentioning, and automating tools to guarantee those assignments exist. The last bit is private discussions (e.g. Stop our competitors from stealing all of our ideas). We keep all of those big product design concerns in Dropbox Paper until we begin implementation. That's not only for keeping them secret but also because it's just easier to collaborate. Also curious to learn more about your custom service and choice. Wanna drop me an email? david at sentry's domain.
- scrollaway 10y ago> Another big issue was the number of repos and lack of good centralized views. We've sort of simplified this by moving things into monorepos (e.g. All our plugins are going into a single repo). Have you evaluated zenhub? We started using it and can't ever look back. Allows us to have as many repos as we have but still track everything centrally.
- mherrmann 10y agoHi David, I trialled the hosted version a month or two ago and it was slow. Specifically: The time it took for an exception to be reported via the API to that exception showing up in the web interface was too long (a minute maybe). It made trialling the product a little bit tedious. I ended up with rollbar for that reason. Would it be faster if I self-hosted Sentry?
- zeeg 10y agoWe measure literal end-to-end processing time on our status page here: https://status.sentry.io/ https://status.sentry.io/ It should never be slow, so it's possible there was a misunderstanding in how something was working, a bug in an SDK, or we were simply having a really bad day. Comparatively, Rollbar publishes some similar numbers, and suggest they are slower: http://status.rollbar.com/ http://status.rollbar.com/ While being as real-time as possible is nice, we internally have an SLA of 10s for end-to-end as we feel thats appropriate enough for a success metric. I will also say we did a lot of work around this recently to improve our 99th percentile. Part of that is our recent improvements around source map processing times: https://blog.sentry.io/2016/10/19/fixing-python-performance-with-rust.html https://blog.sentry.io/2016/10/19/fixing-python-performance-...
- mherrmann 10y agoThanks!