Sublime does not need to be open-source but having the source available would be very nice. There are several long-standing issues that are low priority for the team but the community would very gladly come up with a patch (GTK 3 support, for example). See Unreal Engine or Fair Source licenses for an example, how this can be done.
Open Source
I am quite confused with the timing of this announcement (if it is one). I have just 1.5 weeks ago downloaded the stable version and paid $80 (IIRC) for the upgrade. I would like to support the existence of this software, however, am trying to put the pieces together. Can you help clarify what this means for someone that has just purchased or paid for an upgrade?
It’s not an official announcement about Sublime going open source, if that’s what you’re concerned about. It’s just one of many threads where people are trying to convince the developers that it should be open sourced.
Wow, you’re good at offering other people’s work and livelihood for free! Strange that you’re not offering your own.
First of all, I must to say I definitely favour close source software like SublimeText in many cases and I do think there are many good reasons to keep software’s source closed. As a user, in many cases I just care about the product quality as well as being able to customize it perfectly for my needs and not the core. With Sublime Text that’s already possible so I don’t have anything to complain about it.
If you think about it, in this particular case the choice of Sublime has been providing smart extension points since the very beginning so the community would add value to the product for free while keeping the core closed. I think that’s a good business model and a really smart way when you’re just a startup. Success of Sublime at this point is out of discussion here…
That said, I wonder about something else here… I’ve been cheeky enough to ask some questions in the past about the internal behaviour of some of the Sublime’s API functions such as extract_scope, view.replace or more recenly… score_selector.
I haven’t received any answer from the authors to my questions in the forums (which I totally respect, it’s their choice at the end of the day and they probably have good reasons to do so). But I wonder, do you really think giving hints about some particular tiny core functions would be bad at all for a well-established business? I’m not even talking about the source code itself from these functions but just hints about the behaviour…
I believe the core API functions are living in plugin_host.exe as native code and I’ve tried to reach the location of the code itself using a debugger but it’s been impossible to me as putting breakpoints in plugin_host will make SublimeText client crashing.
It’s hilarious, companies like EA, IDTech, Epic, opening their products (much larger codebase than ST’s probably) to the masses at certain point so people will increase the value of their product and here very tiny particular functions are kept secretly save like gold…
Anyway, this comment is out of frustration as I’ve wasted couple of days trying to figure out how extract_scope
works with no success and that’s annoying as I know the function must trivial
Peace.
Yeah… That’s just unfortunate. If ST is open source, people could help themselves theoretically.
But how do EA make money from their products? Dare they open sourced their commercial games so I could compile them by myself and “test” them? (yes, I “promise” I would only “test” them ) They could still make money by making their own games, teaching people how to use their Frostbite Engine, or providing technical support (like Red Hat).
I mean that people and I know it’s good for “us” if ST becomes open-source. But Jon (ST’s author)
has to figure out a new business model to profit from an open source “text editor” and the way has to make more money than he could make now. I consider Notepad++ as a good example for a open source editor but at the same time, I don’t think the author makes money from that. However, Jon is running a company and making money is an important thing for a company .
No, it is just that I have been prioritizing work over the past month or so trying to stabilize everything from the dev cycle so we can get a new stable build out.
In general, I am happy to tell you how something is implemented, but every single edge case isn’t necessarily obvious, even if you have the source code sitting in front of you. Sometimes it can take an hour to dig through everything and try to find a way to express all of the situations in which something may work subtly different. Ideally though, it isn’t just that we tell one person the answer to their questions, but rather write documentation so all package developers can use it. This means the process just takes a but longer. Sometimes when writing new documentation you have to spend a bunch of time thinking about the most logical way to present it all to users so they can understand it.
The other aspect in a discussion about things as fundamental as scopes is that changing things that have had edge case bugs part way through the lifecycle of a major version can actually introduce new bugs since there have been years of packages who may have run into the edge cases and worked around them. Just this dev cycle we fixed a couple of edge case issues related to plugin loading and received reports of breakages because packages happened to be utilizing the “broken” implementation.
As a matter of procedure, in general it may be better to open an issue on the issue tracked about missing documentation. That tends to be a better place to track things that need to be done by Sublime HQ, whereas the forum is more of a continuous flow of questions, support, ideas, announcements, etc.
I mean that people and I know it’s good for “us” if ST becomes open-source. But Jon (ST’s author)
has to figure out a new business model to profit from an open source “text editor” and the way has to make more money than he could make now. I consider Notepad++ as a good example for a open source editor but at the same time, I don’t think the author makes money from that. However, Jon is running a company and making money is an important thing for a company .
This is quite interesting actually, nowadays you’ll see quite a lot of articles talking about how to make money with open-source products but the reality is these open-source business models are intended for very pretty specific and they won’t apply for many type of “casual” software there. For this particular case, I still think the same than when this thread was opened, I really miss the point about which benefits would bring for both the company and us the users if it was open source.
I strongly believe that one of the many keys of good software architecture is having good centralized and compact team while being able to provide the right extension points to your product. Also, even if you add more elements to a system that doesn’t mean the system will become more efficient.
Btw, I still consider quite hilarious one of the initial claims at the beginning of the thread, which says:
Already, Visual Studio Code and Atom surpass Sublime in features out of the box and in extensions, despite their existence for a fraction of the time. Why this exponential growth? The power of open source.
Thing is, I don’t really like these pointless battless about which OS is better, which programming language is better… or which editor is better… But I’ll tell you one thing, IMHO Sublime Text has had the right solid foundations that many other editors don’t and that’s something that’s not easy to change when the product has reached a mature stage. Sublime did it right from the very begginning while other editors like VS code or atom not. Cos let me tell you, if you consider the quality of one particular editor for just the “out of the box” features… well, that’s just wrong (IMHO).
Sublime strive for efficiency, compactness and delivering the right extension points and also knew how to generalize important concepts from other editors out there at the time it was released, these concept were extremely importants and nowadays you’ll see a lot of derivative work out there.
So no, I’m not sure about the statement that talks about the “power of open source”… nowadays everybody consider everything should be open source as a matter of fact, I see a good point in many cases about open sourcing stuff but that doesn’t mean by open sourcing a product this will become immediately superior, cos that’s not it.
Anyway, many times I’ve thought which alternative business model I would have applied myself if developing a similar product to ST and I can’t think of any cos I really think the business model has been a really fair and good one from the very beginning.
First of all Will, thanks for your reply, it makes total sense, so I really appreciate your clarification
Ideally though, it isn’t just that we tell one person the answer to their questions, but rather write documentation so all package developers can use it.
Yeah, actually if I think backwards many of my previous questions were intended to know about very specific cases that could be not very relevant for many package developers out there… so yeah, I agree the goal should be everybody wins here, by adding better documentation in some cases the whole community will benefit about it, it’s a win-win situation
As a matter of procedure, in general it may be better to open an issue on the issue tracked about missing documentation. That tends to be a better place to track things that need to be done by Sublime HQ, whereas the forum is more of a continuous flow of questions, support, ideas, announcements, etc.
Your word here! It makes a lot of sense actually… thanks for the clarification, I’ve been doing wrong all the time
I think these type of clarifications and explanations once in a while are a really good thing… they talk very well about the company itself. On the other hand, I understand you guys are bussy with more important subjects than these low-priority ones.
Anyway, all clear to me at this point, moving on
I was thinking if Sublime HQ could do something similar to Epic games Unreal Engine repo set up. Like for instance when you go on the about for sublime text. It will give you an invite link to the Sublime HQ’s GitHub Organization. You can view the Sublime Text repository, you can do a fork and a Pull Request. Sublime text could stay closed source but as a Private GitHub Repository.
Sublime text could stay closed source but as a Private GitHub Repository.
Do you really think so? Let’s speculate a bit then, let’s assume they would do it like you’re suggesting. Now, let’s get a little bit paranoich here and let’s also say just to be safe SublimeHQ would force you to sign some NDA contract to “protect” Sublime source code a bit.
Now, considering Sublime is highly popular let’s say hundred if not thousands of devs would fork it… and then, suddenly, Sublime’s source code appears misteriously somewhere on the internet in the form of torrent or whatever… wow, it’s not private anymore. My question, would it be possible to identify the responsible of such an action? I doubt it… SublimeText wouldn’t be closed source anymore.
What I’m trying to say is, either you open source software or you don’t, the way Epic does it is just yet-another way to open source software really. IMHO this concept of private github repository only makes sense for companies
nothing will kill this project faster than open sourcing it. Look at JK Defrag / MyDefrag for an example of what will happen.
well, “kill this project” is probably an overexageration as ST has reached a level of maturity and stability quite high but I agree open sourcing it wouldn’t benefit neither the community nor SublimeHQ at all.
I actually do not believe its an exaggeration to say that open sourcing ST would kill the project.
Open source it and every joe shmoe will suddenly have a shiny new editor they wrote for sale on www.buymenow.com. Thats EXACTLY what happened to JK Defrag and is why he rewrote it from scratch, called it MyDefrag and abandoned JK defrag.
You will notice that MyDefrag has not had any updates to it in YEARS!!
Well… which type of project we’re talking about here? Let’s establish first some conventions about the type of software project that actually exists:
- >2M sloc - Large/Huge project (ie:
- 100k - 2M sloc - Medium project
- 10k - 100k sloc - Small project
- <10k sloc - Tiny project
At feb2009 Jon said:
For interests sake, last time I counted, Sublime was around 70k lines of C++, including blank lines, comments and unit tests.
Then if we read in one his first blog posts he says:
December, 2005. I had been kicking around the idea of a 3D accelerated text editor for some time.
Those 70k sloc in ~4 years mean ~15k sloc per year, although that ammount of sloc/year will decrease over time as the product becomes more and more stable.
Anyway, let’s assume ST has transitioned from small to medium size these days. Just a simple assumption… anyway, let’s just say the codebase it’s a medium size project.
Now for the sake of discussion you state open source it would kill the project and while I strongly believe no real benefits would be by doing so I also think that the project would be killed by doing so is an overexageration… cos you say:
Open source it and every joe shmoe will suddenly have a shiny new editor they wrote for sale on www.buymenow.com
Right, so… do you think improving/cloning/understanding medium/large size projects is a matter of few days/weeks/months and boom you got a new shiny product :)? Cos let me give you some examples here of medium/large/huge projects:
blender, ue4, cryengine, chromium, virtualbox, … All of them are open source, did many “joe shmoe” created new shiny replicates of those products? Of course not… and the projects are quite succesfull
Again, all depends the resources your “joe shmoe” company will have to create new shiny replicates of the existing open source products… but usually if the size of the project is not small this task will prove to be quite an expensive one. Also, getting familiar with existing code to make “substantial” changes is not a 5 days job neither… so… yeah, I think your comment was an overexageration
Just for the record to have a wider perspective of what a huge project is:
Windows XP: 40 million
Windows Vista : 50 million
Windows 7: 40 million (reduced from Vista).
Windows 8: 50-60 million
To contribute effectively to medium/large/huge projects you need capable people and that won’t happen magically just by open sourcing your stuff, no matter how cool it’s
The devs could make it open source. If they still want to make money off of text and merge. They could use patreon and give patreon users the access to beta features like you can do right now from buying a license.
What’s the maximum ammount of money per month of the most popular patreon user/company ever? Is that ammount <= profit of SublimeHQ per month?
Could you elaborate why that suggestion would be worth even to consider? wouldn’t be a high-risk decission with probably no advantages added to the current business plan?
Ok, I’ll self-answer myself here… https://graphtreon.com/ , not bad… https://www.patreon.com/chapotraphouse , I thought patreon was a little toy but maybe is not afterall