MS STL now open source (and using Boost)
Microsoft's standard library is now in the process of going open source (the code is there, but not the tests yet), see : https://devblogs.microsoft.com/cppblog/open-sourcing-msvcs-stl/ Interestingly they're using the Math library's special functions en-mass for enhanced <cmath> support, and a quick grep of the code turns up other references to Boost, though I haven't identified the libraries they've borrowed from yet. Hopefully this means that in the long turn we'll see patches and enhancements flowing in both directions for the benefit of all. John. --- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus
On 9/17/19 1:06 AM, John Maddock via Boost wrote:
Microsoft's standard library is now in the process of going open source (the code is there, but not the tests yet), see : https://devblogs.microsoft.com/cppblog/open-sourcing-msvcs-stl/
Interestingly they're using the Math library's special functions en-mass for enhanced <cmath> support, and a quick grep of the code turns up other references to Boost, though I haven't identified the libraries they've borrowed from yet.
Hopefully this means that in the long turn we'll see patches and enhancements flowing in both directions for the benefit of all.
John.
Hmmmm - so boost writes something, it gets added to the standard, then the vendor, copies in the boost version and releases it as part of their product. I've got a couple of questions about this. a) Aside from "certifying" or "legitimizing" a boost library, exactly how is the C++ committee process actually contributing to all this. Looks like just a time consuming way station on a round trip. b) I think its time to seriously start to consider ideas about who open source authors can get compensated for their efforts are widely used. The music business was ignited when improved copyrights enforcement complemented technology (phonograph/radio) in the early 20th century. The result was an explosion of creativity in musical arts: jazz, musical theater, popularization of folk music, film music, etc. c) It's just crazy that the author of a pivotal piece of software which the whole world runs on (or should run on), gets no monetary recognition for these indispensable efforts. CppCon - discuss. Robert Ramey
--On Tuesday, September 17, 2019 11:35 AM -0700 Robert Ramey via Boost
Hmmmm - so boost writes something, it gets added to the standard, then the vendor, copies in the boost version and releases it as part of their product.
So you're getting free distribution and support for your product instead of having to do it yourself. The big winners of copyright changes were the big distribution companies, not the artists. Now they're threatened by "open source" indie artists distributing on Youtube and collecting income through ads and through patronage systems.
On 2019-09-17 20:35, Robert Ramey via Boost wrote:
Hmmmm - so boost writes something, it gets added to the standard, then the vendor, copies in the boost version and releases it as part of their product. I've got a couple of questions about this.
a) Aside from "certifying" or "legitimizing" a boost library, exactly how is the C++ committee process actually contributing to all this. Looks like just a time consuming way station on a round trip.
The committee creates the standard. Often changing the component along the way as a result of review and discussion. The standard is important as it is the formal specification for all language implementors, including those who don't use Boost in their implementation. Abandoning the standard means blessing one implementation and its maintainers as the "owner" of the language. I view that as very detrimental to the language quality and ecosystem.
b) I think its time to seriously start to consider ideas about who open source authors can get compensated for their efforts are widely used.
If you (not personally you - in general) are looking for material compensation for your work then you've probably come to the wrong project. Not that rewarding developer's work is bad, but when you release source code under BSL or any other open source license, you have to understand that that act of release alone does not ensue compensation in return. In other words, you're not selling your code in a project like Boost, you're gifting it. Though you may receive immaterial compensation, like recognition among fellow developers and a nice line in your resumé.
The music business was ignited when improved copyrights enforcement complemented technology (phonograph/radio) in the early 20th century. The result was an explosion of creativity in musical arts: jazz, musical theater, popularization of folk music, film music, etc.
Some might say that the copyright system in the media world is ridiculous in the modern times of Internet, YouTube in particular. But I don't want to digress in this area.
c) It's just crazy that the author of a pivotal piece of software which the whole world runs on (or should run on), gets no monetary recognition for these indispensable efforts.
I see nothing crazy about it. The author wrote an amazing piece of code and was generous (and probably wise) enough to release it under a liberal license, which allowed its wide adoption. You may call that altruistic but not crazy. If we're talking about something like a Nobel Prize for programmers, then that might be a good idea, but that is a completely different thing.
Boost - Dev mailing list wrote
On 2019-09-17 20:35, Robert Ramey via Boost wrote:
b) I think its time to seriously start to consider ideas about who open source authors can get compensated for their efforts are widely used.
If you (not personally you - in general) are looking for material compensation for your work then you've probably come to the wrong project. Not that rewarding developer's work is bad, but when you release source code under BSL or any other open source license, you have to understand that that act of release alone does not ensue compensation in return. In other words, you're not selling your code in a project like Boost, you're gifting it. Though you may receive immaterial compensation, like recognition among fellow developers and a nice line in your resumé.
There are situations when an open source software developer is perfectly entitled to expect compensation from users of her/his software. A successful project can easily become a maintenance hassle then satisfaction, self-fulfillment and good looking resume are not enough to keep things rolling. The GPL, for example, makes it clear that should the program prove defective, she/he assumes the cost of all necessary servicing, repair or correction: https://media.ccc.de/v/bucharest-322-the-secret-life-of-open-source-develope... Some projects even use labeling to make it clear what issues/features require funding https://trac.osgeo.org/geos/milestone/GEOS%20Fund%20Me Unfortunately, not every user of an open source project understands that and some react in a very demotivating manner: https://twitter.com/EvenRouault/status/1141389253093601280 Best regards, Mateusz ----- -- Mateusz Loskot, http://mateusz.loskot.net -- Sent from: http://boost.2283326.n4.nabble.com/Boost-Dev-f2600599.html
On 2019-09-18 11:31, Mateusz Loskot via Boost wrote:
Boost - Dev mailing list wrote
On 2019-09-17 20:35, Robert Ramey via Boost wrote:
b) I think its time to seriously start to consider ideas about who open source authors can get compensated for their efforts are widely used.
If you (not personally you - in general) are looking for material compensation for your work then you've probably come to the wrong project. Not that rewarding developer's work is bad, but when you release source code under BSL or any other open source license, you have to understand that that act of release alone does not ensue compensation in return. In other words, you're not selling your code in a project like Boost, you're gifting it. Though you may receive immaterial compensation, like recognition among fellow developers and a nice line in your resumé.
There are situations when an open source software developer is perfectly entitled to expect compensation from users of her/his software.
Yes, of course, but that is an agreement between users and the developer that does not follow from the act of the source release. Often, quite the opposite. For example, the developer may agree to implement a feature for a certain payment. As part of that agreement, he may or may not release that source code afterwards, and the conditions/license of such release may be different from when he implements something else for free for the same project. IOW, if you simply release a piece of code, you cannot expect to be paid for it. For that you have to sell it, in one way or another. Specifically in Boost, we don't sell code and don't receive any payment for our work on libraries. So if someone comes here in hope to be rewarded for his work, that expectation is wrong. There may be cases when the time a maintainer spends on Boost is paid for by his employer or that the library is maintained outside Boost on paid basis and the Boost version is the "free" version or something like that, but in any case, the developer is not receiving compensation from the Boost project.
A successful project can easily become a maintenance hassle then satisfaction, self-fulfillment and good looking resume are not enough to keep things rolling.
Of course. There are plenty reasons to want to receive compensation, and there's nothing wrong with it.
The GPL, for example, makes it clear that should the program prove defective, she/he assumes the cost of all necessary servicing, repair or correction: https://media.ccc.de/v/bucharest-322-the-secret-life-of-open-source-develope...
In this case "she/he" is the user, not the developer. Pretty much any open source license contains a disclaimer that lifts any damage/losses responsibility from the developer.
On 17. Sep 2019, at 18:35, Robert Ramey via Boost
wrote: b) I think its time to seriously start to consider ideas about who open source authors can get compensated for their efforts are widely used. The music business was ignited when improved copyrights enforcement complemented technology (phonograph/radio) in the early 20th century. The result was an explosion of creativity in musical arts: jazz, musical theater, popularization of folk music, film music, etc.
c) It's just crazy that the author of a pivotal piece of software which the whole world runs on (or should run on), gets no monetary recognition for these indispensable efforts.
Like others have said, the author makes the decision upfront whether to release his/her work as open source or to try to get compensated. It is contradictory to expect compensation after a library starts to become popular. An analogy: you gave away some land that you think is not worth much, and then the new owner finds a gold ore on that land. Then you cannot in hindsight demand a price. This is a fundamental principle of trade that you cannot change a completed transaction once new information comes in (if the transaction was lawful). At the time of writing a library, it is not yet clear whether that library will prove valuable and become popular. The competition, even in open source, is tough. Success depends on the quality of the library but also how fast it can build a user base. As in economy, it is all about growth. Can you grow your user base faster than the competition? Big companies have a huge advantage on that front. They can put money into advertising, and they can nudge or urge their existing user base to use a library. As an independent OS dev, you don't have a backing like this. Your edge is to give away your work for free. No cost is certainly an important factor for the user base. The trend seems to be rather that even big companies release software as OSS, just to grow fast enough. Think of Qt and TensorFlow, for instance.
On Tue, Sep 17, 2019 at 10:35 AM Robert Ramey via Boost < boost@lists.boost.org> wrote:
On 9/17/19 1:06 AM, John Maddock via Boost wrote:
Microsoft's standard library is now in the process of going open source (the code is there, but not the tests yet), see : https://devblogs.microsoft.com/cppblog/open-sourcing-msvcs-stl/
Interestingly they're using the Math library's special functions en-mass for enhanced <cmath> support, and a quick grep of the code turns up other references to Boost, though I haven't identified the libraries they've borrowed from yet.
Hopefully this means that in the long turn we'll see patches and enhancements flowing in both directions for the benefit of all.
John.
Hmmmm - so boost writes something, it gets added to the standard, then the vendor, copies in the boost version and releases it as part of their product. I've got a couple of questions about this.
a) Aside from "certifying" or "legitimizing" a boost library, exactly how is the C++ committee process actually contributing to all this. Looks like just a time consuming way station on a round trip.
b) I think its time to seriously start to consider ideas about who open source authors can get compensated for their efforts are widely used. The music business was ignited when improved copyrights enforcement complemented technology (phonograph/radio) in the early 20th century. The result was an explosion of creativity in musical arts: jazz, musical theater, popularization of folk music, film music, etc.
c) It's just crazy that the author of a pivotal piece of software which the whole world runs on (or should run on), gets no monetary recognition for these indispensable efforts.
CppCon - discuss.
Well, first off, I believe that throughout the history of boost, there was never any promise of monetary recognition. If it wasn't crazy not to be paid when you contributed code to Boost in the first place, it's not crazy now, either. But there are some benefits that go along with that. First and most important is that you don't have to pay for the part of Boost you didn't write, which is most of it. And second is that you're not responsible for supporting it - including fixing the bugs. And third is the combination of the first two: when you contribute to an open-source project, it often happens that someone sends you a fix for a bug you didn't know you had. Depending on what you use your code for, that can be very valuable, even if you don't put a monetary value on it. As for how they get compensated, consider Newton. This man invented Calculus - an indispensable foundation upon which most mathematics - and by extension most physics - rests. Was he paid for it? No, not per se. But it made him extremely famous among academics, and that had lots of benefits on its own. Likewise, authoring a pivotal piece of open-source software gives you a reputation, which can be exchanged for money in other ways. People like Hana Dusíková and Louis Dionne can get multiple offers for high-paying jobs at many companies based on their open-source contributions. It may seem strange - even crazy - that the contributions that made these people famous don't pay that well, while their in-person contributions do, but it's actually quite similar to the music industry you cited: The most lucrative space for musicians is live performances, not recorded ones. -- Jorg ps Cite: https://www.rollingstone.com/music/music-features/how-musicians-make-money-o...
ps Cite: https://www.rollingstone.com/music/music-features/how-musicians-make-money-o...
Very interesting link. I was using the music industry before the year ?2000? as an example. These days, it seems that the music industry is struggling with exactly the same issues that I alluded to. And of course a scheme for compensating open source software developers would have to address this same issues.
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
[Mathias Gaunard]
Is their hypot implementation right? Certainly does not look like the classic Sun implementation.
Please file an issue on GitHub if you can demonstrate inaccurate results. At the moment, the only modern Boost component that we're using is Boost.Math to power Special Math. (We include Boost during our build, instead of shipping its sources.) We're also using some of William E. Kempf's Boost.Thread v1 code, heavily modified (this predated the Boost Software License, so it has separate notices). Separately, we're using Ryu under the Boost Software License. If there's anything that we can do to be helpful to Boost, please let us know. In the medium-long term, we may be interested in using Boost.Regex to replace our regex implementation (when we can break ABI). Thanks, STL
In the medium-long term, we may be interested in using Boost.Regex to replace our regex implementation (when we can break ABI).
You wouldn't prefer Hana's really cool constexpr one instead with the much superior performance? (I appreciate it isn't conforming, but I'd like there to be some day a fully conforming implementation using that technology i.e. you to write it Stephan will all that free time you have!) Niall
On Tue, Sep 24, 2019 at 1:51 PM Niall Douglas via Boost < boost@lists.boost.org> wrote:
In the medium-long term, we may be interested in using Boost.Regex to replace our regex implementation (when we can break ABI).
You wouldn't prefer Hana's really cool constexpr one instead with the much superior performance?
(I appreciate it isn't conforming, but I'd like there to be some day a fully conforming implementation using that technology i.e. you to write it Stephan will all that free time you have!)
I assume the disadvantage of Hana library is that it is not used as much as boost so it is *probably *more buggy, and I am not sure it can easily be wrapped to match the std:: stuff since in my experience it is impossible to dispatch code to constexpr and nonconstexpr implementation. By this I mean const std::string s("bla"); std::regex r1(s); std::regex r2(s + std::to_string(time(NULL))); //NULL to upset STL
Here r1 and r2 look the same to the poor regex constructor, although one is known at compile time. disclaimer: I admit I did not follow C++20 standardization so maybe those nice people from WG21 gave us some magic tools to do this.
Sorry for the possibly-stupid question, but this is the boost list, and you're talking about constexpr regex's, therefore any reference to Hana is immediately quite ambiguous. Do you mean Boost.Hana, or do you mean Hana Dusíková ? On Tue, Sep 24, 2019 at 4:51 AM Niall Douglas via Boost < boost@lists.boost.org> wrote:
In the medium-long term, we may be interested in using Boost.Regex to replace our regex implementation (when we can break ABI).
You wouldn't prefer Hana's really cool constexpr one instead with the much superior performance?
(I appreciate it isn't conforming, but I'd like there to be some day a fully conforming implementation using that technology i.e. you to write it Stephan will all that free time you have!)
Niall _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
On 26/09/2019 04:36, Jorg Brown wrote:
Sorry for the possibly-stupid question, but this is the boost list, and you're talking about constexpr regex's, therefore any reference to Hana is immediately quite ambiguous.
Do you mean Boost.Hana, or do you mean Hana Dusíková ?
As Boost.Hana does not contain a regex implementation, it would be the other Hana you mention. Niall
participants (11)
-
Andrey Semashev
-
Hans Dembinski
-
Ivan Matek
-
John Maddock
-
Jorg Brown
-
Kenneth Porter
-
Mateusz Loskot
-
Mathias Gaunard
-
Niall Douglas
-
Robert Ramey
-
Stephan T. Lavavej