Code Typhoon's pl_TitanSound - is it legal? lazarus / 8-Other ---------------------------------------------------------------------- domasz · 2022-03-08 11:38 There is a package pl_TitanSound in Code Typhoon which contains file tsd_mpeg.pas. This looks exactly like Delphi MPEG: https://sourceforge.net/projects/delphimpeg/ Even the comments are the same but TitanSound is MPL and delphi MPEG is GNU/GPL. I tried asking about it on their forum but they claim they wrote TitanSound. Can anyone clarify this situation? Because right now it seems Code Typhoon is risky to use. ---------------------------------------------------------------------- domasz · 2022-03-08 11:41 Files so you can compare yourself. Layer3.pas is one of many files from Delphi MPEG. tsd_mpeg.pas seems to be concatenation of all Delphi MPEG files; from Code Typhoon. https://github.com/Dingo64/Delphi-MPEG/blob/main/Layer3.pas ---------------------------------------------------------------------- PascalDragon · 2022-03-08 12:20 Quote from: domasz on March 08, 2022, 12:38:52 pmCan anyone clarify this situation? Because right now it seems Code Typhoon is risky to use. Wouldn't be the first time. They like to replace license headers. I personally wouldn't use Code Typhoon no matter the advantages and won't suggest it to anyone else either. ---------------------------------------------------------------------- Martin_fr · 2022-03-08 12:40 I removed the attachments. If there is a suspicion that they may be copyrighted, then we should err or the save side. That is => We should not host them ourself in any form or way. EDIT: Argh, I wast to fast. I did not read that Delphi's file are open-source too. ---------------------------------------------------------------------- domasz · 2022-03-08 12:51 Delphi MPEG is GNU/GPL. Worst case scenario TitanSound needs to be re- licensed as GNU/GPL. So I think it's safe to host the files. ---------------------------------------------------------------------- Martin_fr · 2022-03-08 13:11 Quote from: domasz on March 08, 2022, 01:51:54 pmDelphi MPEG is GNU/GPL. Worst case scenario TitanSound needs to be re-licensed as GNU/GPL. So I think it's safe to host the files. Yes, I realized it to late. Hence the "edit" of my previous post. ---------------------------------------------------------------------- 440bx · 2022-03-08 14:38 Quote from: PascalDragon on March 08, 2022, 01:20:48 pmThey like to replace license headers. People/organizations that do that just cannot be trusted. It's not that hard to give credit to those who earned it. ---------------------------------------------------------------------- domasz · 2022-03-08 16:43 I asked about this on Code Typhoon's forum and now I am banned there. I really hoped they will give an explanation for the TitanSound but seems they are not going to. ---------------------------------------------------------------------- Warfley · 2022-03-08 17:05 I did a quick check using the diff util: Code: Bash  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i $> diff Layer3.pas tsd_mpeg.pas | grep -e '^<' | wc -l591 So out of the 1301 lines of the Layer3.pas, 710 where taken verbatim and in order. When removing spaces (to find similar lines with different spacing or indentation): Code: Bash  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i $> diff Layer3_nospace.pas tsd_mpeg_nospace.pas | grep -e '^<' | wc -l503 It is 798 out of 1301, so around 61% As diff considers order, I also sorted the lines, to check just for lines occuring in both: Code: Bash  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i $> diff Layer3_nospace_sorted.pas tsd_mpeg_nospace_sorted | grep -e '^<' | wc -l490 It increases to 811. But this is a little bit unfair as it includes empty lines, so after removing them with sort -u: Code: Bash  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i $> diff Layer3_nospace_sorted.pas tsd_mpeg_nospace_sorted | grep -e '^<' | wc -l374$> wc -l Layer3_nospace_sorted.pas768 Layer3_nospace_sorted.pas It is 394 out of 768 lines, which is 51% So it is either around half or nearly 2/3 of the Delphi code, which is also present in the pilot logic code. To answer the question about legality, well, there is this neat saying: "No plaintiff, no judge". So unless someone is actually going to try legal action, does it really matter? PS: about how to read the diff | grep | wc results, the number in the end is the number of lines that where in the Layer3 but not in the tsd file, so the number of lines in both is the total minus that number ---------------------------------------------------------------------- JuhaManninen · 2022-03-08 17:11 Quote from: PascalDragon on March 08, 2022, 01:20:48 pmWouldn't be the first time. They like to replace license headers. AFAIK they did not replace license headers despite such false claims. At least they didn't then few years ago when there was a big attack against them here in Lazarus forum. They had removed author/ copyright information from some 3rd party component packages which was a stupid move of course in a situation where many people wanted to bash them. Anyway, back then I went through their copy of Lazarus IDE and packages and found nothing to complain. They have changed most 3rd party package and unit names which shows lack of cooperation but it is not against license rules. Did they now change the license for pl_TitanSound? It sounds bad of course. ---------------------------------------------------------------------- domasz · 2022-03-08 17:57 Quote from: Warfley on March 08, 2022, 06:05:37 pmSo it is either around half or nearly 2/3 of the Delphi code, which is also present in the pilot logic code. "Delphi MPEG" is in Delphi, which a bit different dialect. ---------------------------------------------------------------------- af0815 · 2022-03-08 18:04 It depends on the used compilermode. If you use mode delphi it is compatible. You find the mode normaly defined in first lines ---------------------------------------------------------------------- korba812 · 2022-03-28 18:04 To me, both sources look like a port of some c code to pascal. On the delphimpeg SF site it says that this is Delphi port of "maplay" See example results on github: https://github.com/search?p=1&q=prvblk&type=Code There are tons of similar code in different languages with identical variable names and comments. ---------------------------------------------------------------------- domasz · 2022-03-28 19:46 But maplay is GNU/GPL so everything based on maplay (that includes translations) is GNU/GPL. ---------------------------------------------------------------------- korba812 · 2022-03-28 20:43 You're right. I found maplayer source and it is GPL licensed. https://hwiegman.home.xs4all.nl/fileformats/mp3/mp1A_src/