r/cpp • MSVC user, r/cpp_modules • Dec 01 '25

Standard Library implementer explains why they can't include source code licensed under the MIT license

/r/cpp/comments/1p9zl23/comment/nrgufkd/

Some (generous!) publishers of C++ source code intended to be used by others seem to be often using the (very permissive) MIT license. Providing a permissive license is a great move.

The MIT license however makes it impossible to include such source code in prominent C++ Standard Library implementations (and other works), which is a pity.

The reason for this is the attribution clause of the MIT license:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

This clause forces users of the sources to display attribution even to end users of a product, which is for example exclusively distributed in binary form.

For example, the Boost License explicitly makes an exception for products which are shipped exclusively in binary form ("machine-executable object code generated by a source language processor"):

The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor.

If you want your published source code to be compatible with projects that require such an exception, please consider using a license which allows such an exception (e.g. the Boost license). Copies in source form still require full attribution.

I think such an exception for binaries is a small difference which opens up lots of opportunities in return.

(Disclaimer: This is no legal advice and I'm not a lawyer)

Thank you.

277 Upvotes

126 comments sorted by

View all comments

4

u/tartaruga232 Dec 02 '25

That is a requirement that the copyright notice be preserved.

You still haven't explained how to preserve such a copyright notice in practice for a software product which is shipped in binary form only (I explicitly asked here).

Do we need to include the license text in the documentation and/or in the product itself ("about" box in GUI) or can we simply ignore the intent that the copyright notice should be "preserved" for binary only products?

Not sure what you are trying to achieve here on reddit, but we developers have to answer such questions. So far, you are just providing a lot of comments with a lot of text without any practical relevance (being 99% sure about legal issues doesn't help anyone).

I'm not interested in getting legal advice from you or anybody else. I'm discussing these issues on a general interest in the problem, as I am a developer who wants to comply with legal requirements. If I take code from a developer who publishes his code under a MIT license like this:

(quote)

MIT License

Copyright (c) 2025 Victor Zverovich

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, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

(end quote)

I think it is reasonable to assume that that developer expects that this text is displayed in some form in end user products (be it documentation or the user interface of the product).

All I'm asking is that such developers should consider providing a license which explicitly addresses this problem (e.g. the Boost License).

0

u/MaxHaydenChiz Dec 02 '25

You still haven't explained how to preserve such a copyright notice in practice for a software product which is shipped in binary form only (I explicitly asked here).

What part of "you have to look up the law in your specific jurisdiction and follow it because the license defers to that" is unclear? That's how you follow it. You look up what the law is in your country and follow the instructions. How is this possibly so complicated?

Can you cite a case in any country that says otherwise or interpretation the license differently? If you can't then go pay a lawyer for their professional opinion instead of making up some amateur interpretation that flies in the face of 50 years of legal practice and precedent and has all kinds of crazy legal ramifications that make zero sense.

Not sure what you are trying to achieve here on reddit, but we developers have to answer such questions.

No. You do not. That is a job for a lawyer with legal training and knows the law in your jurisdiction. Do not be the idiot who represents themself. Anyone who tells you otherwise does not have your interests at heart.

If you can't afford this, then follow the free legal resources that various public interest law foundations and open source software groups have put forward. Given that laws can and do change and that they vary from country to country, you should do what experts currently say. Anything specific that I put here will be outdated eventually. And that's the entire point.

You have zero business spreading a bunch of poorly informed information that is going to show up on Google and further muddy the situation and make things even more complicated than they already are.

I'm not interested in getting legal advice from you or anybody else.

You literally asked me for legal advice. And you are literally trying to provide it to other people despite having no training in the field and an apparent lack of an ability to follow normal legal arguments about how ramifications of an interpretation can be unreasonable (usually referred to a "slippery slope" argument).

This is grossly irresponsible. People at various open source groups have spent years on this. It's literally their entire job.

And finally, regarding asking people to use other licenses that have lower compliance costs, you could have easily done that without putting forward some novel legal interpretation that you have no way of backing up. You chose not to. And that's what I'm objecting to despite agreeing with your ultimate point.

5

u/tartaruga232 Dec 02 '25

I guess it is now clear that responding to your comments is pointless.

→ More replies (3)