Sublime Forum

Open Source

#26

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.

8 Likes

#27

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

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.

0 Likes

#28

First of all Will, thanks for your reply, it makes total sense, so I really appreciate your clarification :wink:

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 :slight_smile:

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 :wink:

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 :wink:

0 Likes

#29

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.

0 Likes

#30

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 :slight_smile:

1 Like

#31

I understand right now

0 Likes

#32

nothing will kill this project faster than open sourcing it. Look at JK Defrag / MyDefrag for an example of what will happen.

0 Likes

#33

well, “kill this project” is probably an overexageration :slight_smile: 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.

0 Likes

#34

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

0 Likes

#35

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 :slight_smile:

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 :wink:

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 :wink:

2 Likes

#36

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.

0 Likes

#37

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?

0 Likes

#38

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 :open_mouth:

2 Likes

#39

Hehe. It usually depends on the community if they feel like doing a monthly donation to sublimeHQ

You can look at these 2 patreons


0 Likes

#40

Could anyone bring some light to this question?

Common sense tells me you should not be forced to open source the host code but… maybe someone with more experience about licenses could clarify… thanks!

0 Likes

#41

If you’re using GPL libraries in your application and distribute that application, you also need to distribute the source.

Don’t need to be in the same package, but you should make it accessible and let the users know they can do this.

As your main question:

Now, here’s my question… what happens if some of the plugins (be it plugins either created by the company or by users) use GPL dependencies… Would the GPL dependencies only affect to the plugin(s) or would also infect the host and other closed-source plugins?

The „infection” won’t spread, as the host author doesn’t have control on what you’re using. The author only exposes some APIs.

0 Likes

#42

A while ago my question has been flagged as duplicate of this one:

In the validated answer there you can see a bunch of related links to this topic:

Just for the record, I’m truly interested on this subject as I’ve got a plugin based software of mine and I’d like to protect it to get “infected” by potential 3rdparty GPL plugins (or plugins that use GPL deps).

Let me put a very concrete example in the context of Sublime, let’s consider whatever SublimeText GPL plugin… for instance, this one, which it’s distributed under the terms of the GNU GPL v3.

Now, could you please explain me how it’s SublimeText protecting itself to get infected on these cases?

0 Likes

#43

Sublime Text doesn’t need to “protect” itself at all because those third-party GPLed plugins don’t ship with it. The GPL cares about distribution rather than usage.

See also “the GPL rules only apply at distribution time”

4 Likes

#44

Glad to hear, that sounds like common sense to me… just asking as these licenses are really tricky ones and it’s quite difficult to know all the intricacies :confused: . And just for the record, terms like “protect”, “infect”… I’m not opossed against open source software at all but it’d be great simple coders like me (and not just lawyers) could understand easily if our software could potentially violate some license clause or whatsoever…

And yeah, I’m already aware of both https://choosealicense.com/licenses/ and https://tldrlegal.com/ but even so… :wink:

0 Likes

#45

Anyway, to be precise: if the library you intend to use is GPLed and you want to distribute it with your plugin, your plugin also needs to be under the GPL.
If users can acquire the GPLed library from a separate entity (e.g. pip, npm, the Linux distro’S package manager, direct download from a library’s website), you don’t need to adhere to any restrictions of the GPL because it doesn’t apply.

0 Likes