<div dir="ltr">Hi Michael,<div><br></div><div>I am not sure how to address your concerns, especially your comments regarding "making the open source project [...] more of a proprietary project" and "the open source community should only be a community of alpha/beta testers", other than by referring to Rickard Green's motivations of the new versioning scheme and OTP_VERSION file on this mailing list a few months ago [1][2][3].</div>
<div><br></div><div>In general, as long as you use an unmodified / tagged / official OTP version, you can be sure that the OTP version number in OTP_VERSION is correct and that you are running a set of Erlang/OTP applications that work well together, because that combination has been thoroughly tested. Any change to that release, by patching or changing one or more applications, results in a modified / untagged / unofficial OTP version for which there is no official OTP version number, either; in that case, you neither can nor should rely on the OTP_VERSION file. Furthermore, the one who modifies an official OTP system is responsible for making its (modified) parts work together; that has nothing to do with generating consulting revenue. Although, this could be improved by providing better and more correct runtime dependency information. As you are well aware of, this is something we are trying to improve in future releases. </div>
<div><br></div><div>[1] <a href="http://erlang.org/pipermail/erlang-questions/2014-February/077675.html">http://erlang.org/pipermail/erlang-questions/2014-February/077675.html</a></div><div>[2] <a href="http://erlang.org/pipermail/erlang-questions/2014-April/078585.html">http://erlang.org/pipermail/erlang-questions/2014-April/078585.html</a></div>
<div>[3] <a href="http://erlang.org/pipermail/erlang-questions/2014-April/078590.html">http://erlang.org/pipermail/erlang-questions/2014-April/078590.html</a></div><div><br></div><div>Andreas</div><div><br></div><div>---</div>
<div><br></div><div>Andreas Schumacher, Erlang/OTP, Ericsson AB</div><div><br></div><div><br></div><div><div class="gmail_quote">
On 18/07/14 20:39, "Michael Truog" <<a href="mailto:mjtruog@gmail.com">mjtruog@gmail.com</a>> wrote:<br>
<br>
>On 07/17/2014 03:49 PM, Tristan Sloughter wrote:<br>
>> Right, but it gets confusing because the OTP version IS 17.x.y not 17.<br>
>> So I'd argue if it can't be determined by the running system it<br>
>> shouldn't be part of system_info at all.<br>
>><br>
>> And to make it more confusing, how does it know it is 17? Could there<br>
>> not be a mix of 17 and 18 apps in there? Maybe that is rejected?<br>
><br>
>My main concern is that being unable to version all erlang applications<br>
>together helps to obscure what selection of erlang applications should be<br>
>used in production, making the open source project less transparent and<br>
>more of a proprietary project. That can help generate consulting revenue<br>
>for the few people that may track what erlang applications are best<br>
>together, but would further limit the growth of the community due to a<br>
>decrease in transparency. That pursues an idea that the open source<br>
>community should only be a community of alpha/beta testers. I understand<br>
>the source repo has a single version file which is meant to track a<br>
>version, but if that version is never used by anything in production, it<br>
>becomes meaningless.<br>
><br>
>><br>
>> On Thu, Jul 17, 2014, at 05:43 PM, Michael Truog wrote:<br>
>>> On 07/17/2014 02:21 PM, Fred Hebert wrote:<br>
>>>> On 07/17, Tristan Sloughter wrote:<br>
>>>>> If for all OTP 17.x.y the runtime is going to consider it 17:<br>
>>>>><br>
>>>>> 1> erlang:system_info(otp_release).<br>
>>>>> "17"<br>
>>>>><br>
>>>> For reverence, the new method to get the version according to the docs<br>
>>>> is: <a href="http://www.erlang.org/doc/system_principles/versions.html" target="_blank">http://www.erlang.org/doc/system_principles/versions.html</a><br>
>>>><br>
>>>> In an OTP source code tree, the OTP version can be read from<br>
>>>>the text<br>
>>>> file <OTP source root>/OTP_VERSION. The absolute path to the<br>
>>>>file can be<br>
>>>> constructed by calling filename:join([code:root_dir(),<br>
>>>>"OTP_VERSION"]).<br>
>>>><br>
>>>> In an installed OTP development system, the OTP version can be<br>
>>>>read from<br>
>>>> the text file <OTP installation root>/releases/<OTP release<br>
>>>> number>/OTP_VERSION. The absolute path to the file can by<br>
>>>>constructed by<br>
>>>> calling filename:join([code:root_dir(), "releases",<br>
>>>> erlang:system_info(otp_release), "OTP_VERSION"]).<br>
>>>><br>
>>>> Do note that the version number can be followed by '**', meaning it<br>
>>>>was<br>
>>>> patched with otp_patch_apply.<br>
>>>> _______________________________________________<br>
>>>> erlang-questions mailing list<br>
>>>> <a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
>>>> <a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
>>>><br>
>>> So, the idea is that only the source code has a version. The binary<br>
>>> installation has no minor or release version, unless you check<br>
>>>individual<br>
>>> erlang applications. The reason given so far<br>
>>> (<a href="http://erlang.org/pipermail/erlang-questions/2014-April/078590.html" target="_blank">http://erlang.org/pipermail/erlang-questions/2014-April/078590.html</a>),<br>
>>>is<br>
>>> it is too hard to provide the minor and release version because<br>
>>>different<br>
>>> installations are likely to use different source tree dependencies at<br>
>>> different versions, so we are likely to lose any dependable information<br>
>>> about what version set of erlang applications are most stable together.<br>
>>> _______________________________________________<br>
>>> erlang-questions mailing list<br>
>>> <a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
>>> <a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
>> _______________________________________________<br>
>> erlang-questions mailing list<br>
>> <a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
>> <a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
>><br>
><br>
>_______________________________________________<br>
>erlang-questions mailing list<br>
><a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
><a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br>
</div><br></div></div>