One of the very popular extension for Visual Studio Code is the PHP Debug Adapter written by Felix Becker. The extension will simply provides debug support for PHP with XDebug. The story is that this extension is sold by DevSense as part of their PHP tools for visual studio starting from $59 yearly !

The screenshot show clearly how the code distributed with DevSense tool is identical to Felix’s debugger extension ! Felix found from the 1800 lines of code distributed by DevSense, at least 1600 lines are identical to his extension. So it’s clear that DevSense have used the code and modify it without mentioning anywhere the original author, which is a clear violation of the MIT license.

The company insisted that they are selling their own implementation and heavily fixed the original code.

However their last “Friendly reminder” is quiet shocking “Reverse engineering is a violation of license terms”. The MIT license is very friendly, easy to understand, and comply with license, the only restriction is to comply with this line “The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.”

Devsense posted a clarification blog on their website admitting their mistake and offering apologies and compensation. According to DevSense the copy concerned with this license violation is only two months old, and not their six years old PHP tools for Visual studio.

“Forgetting to add the attribution of MIT licensed code to the original author into the README file was a serious neglect from our side. We fixed it immediately upon the author’s notification.” the company clarified in the blog post.

They offered a resolution to Felix “To compensate the MIT license’s author for the wrongdoing, we offered him an apology and all of our revenue from the new “PHP Tools for VS Code” licenses to this date.”

PHP Magazine Network contacted Felix Becker author of the original PHP debug extension for VS Code, to get a comment regarding the case resolution, but we didn’t get an answer yet.



Please enter your comment!
Please enter your name here