14

For example, if I want to add a bunch of lines in VS code using a single command and say I'm able to build this feature, can I use this on my version of VS code without the community acceptance?

  • 1
    A possible nuance to this question is, "can you modify the open source software underneath some proprietary software and thereby add new features or behaviors to the proprietary software?" For example, can I change something here and get new features in macOS? – kojiro Nov 7 '20 at 5:40
  • Follow up question: What if the software I am modifying is not Open Source, but I legally own a copy of it? If I am only using the modified version myself, and not distributing it, would it still be legal? Could be as simple as changing the assets in a game to full blown decompile, change and compile. – MAK Nov 7 '20 at 10:48
  • @MAK That would be a question for the Law site. – curiousdannii Nov 7 '20 at 12:39
  • 3
    While the answers below answer the question about open-source, for this specific case you may want to look into writing a VS Code extension, which would probably be a simpler way to achieve want you want, without having to maintain a modified copy of VS Code for your own use (pulling in updates as they come, etc...) – penalosa Nov 7 '20 at 15:51
  • You might not even need a custom extension for this, see stackoverflow.com/questions/34254732/… – HolyBlackCat Nov 8 '20 at 15:14
30

Yes

VSCode

Mureinik already pointed out that VSCode is licensed under the MIT license, which is a permissive license. To quote from it (emphasis mine):

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software [...].

More General

Since you are asking about open source software in general, I'll add a more general part to my answer.

Open Source

One of the elements of the Open Source Definition is the right to modify software:

3. Derived Works

The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.

Free Software

The four essential freedoms required by the Free Software Definition also include the modification of software:

  1. The freedom to run the program as you wish, for any purpose (freedom 0).
  2. The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
  3. The freedom to redistribute copies so you can help others (freedom 2).
  4. The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

Conclusion

If the license of a software prohibits you from making any modifications to it, then it is neither free nor open source!

  • 1
    Nicely researched, +1 – Shadur Nov 6 '20 at 11:50
  • 1
    Note that you might not be able to sell copies of the modified work, though, depending on the license involved. – nick012000 Nov 7 '20 at 7:53
  • 1
    @nick012000: Such a restriction would generally violate terms 1 and/or 3 of The Open Source Definition, making the license not open source by, well, definition. – Ilmari Karonen Nov 7 '20 at 20:20
  • 1
    @IlmariKaronen “You can sell it but you have to give your customers the source code and the right to resell it” might as well be “you can’t sell it”, for all practical intents and purposes. – nick012000 Nov 7 '20 at 23:18
  • 2
    @nonthevisor The answers to that Question just agree with me; you can't practically sell open source software; you have to make your money selling support for it, instead. – nick012000 Nov 8 '20 at 10:54
19

The freedom to modify a piece of software is an essential open-source freedom covered by any open-source license, specifically the MIT License which VSCode is licensed under.

In other words - you most certainly can do this.

  • 9
    Even notoriously "viral" licenses like the GPL allow this. You can modify GPL software for personal use all you like. The "share-alike" provisions only kick in when you distribute the modified copy. Not to mention, if you couldn't run a modified copy on your own machine, it would be nearly impossible to do development work on the software in the first place. – bta Nov 6 '20 at 0:45
  • 3
    @bta I feel like there is some misunderstanding about the GPL here. you can modify software licensed under GPL all you want and distribute it any way you like. you just have to notice that you modified the work. the "viral" aspect only means that you can't take software licensed under GPL and re-license it under a less free license see here for comparison of "share alike" (which is part of CC) and GPLv3 – nonthevisor Nov 6 '20 at 9:16
  • 2
    @nonthevisor So in other words you can't distribute it any way you like - only in the ways the GPL allows. – user253751 Nov 6 '20 at 13:49
  • @user253751 true, I see that my wording is unclear: I meant to say that you can distribute both the original and your modified version in the same way. of course you have to abide the license while doing it, which mostly means not making it proprietary and denying users your source code. – nonthevisor Nov 6 '20 at 13:53
  • It is my understanding that if you do want to make GPL proprietary, you need to contact the original writer and get permission. – John Glen Nov 6 '20 at 22:57
3

You can do anything for your own personal use. That includes making changes and additions to the open source code.

  • 1
    Because VS Code is Open Source and MIT Licensed, they are not limited to personal use. They could even sell it. – Schwern Nov 7 '20 at 9:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.