Juri Strumpflohner
Juri Strumpflohner Juri is a full stack developer and tech lead with a special passion for the web and frontend development. He creates online videos for Egghead.io, writes articles on his blog and for tech magazines, speaks at conferences and holds training workshops. Juri is also a recognized Google Developer Expert in Web Technologies

Learning by understanding and reusing code, not by copying!!

4 min read

Time ago - as you may have already read on this blog here - I started to experiment with the GME API. The result of my experiments was News Mapper (more here). Today, when scrolling over the Google Mashup Gallery, I found "India News". It does basically the same as News Mapper, with the difference that it displays just news from India.
However just by looking at the page without touching it, one can see the similarity with my News Mapper project. With similarity I'm not referring to the conceptual part. Taking a look at the code approved my suspicion... Most of the code is completely identical to my code I've used for News Mapper. Lets look at some examples. The screenshot below shows for instance that the author is using the same mechanism for laying out the different categories of the news feed. To realize this he uses the same CSS stylesheet class "category" with the same a:hover entry and the same color. His site is basically a slightly modified copy of my source code (even the comments of the JavaScript methods are the same :D )!
Moreover I don't think he has really understood my code since he calls for instance on each load my method called "cleanRSSEntries()" although it is completely useless for his situation. I've just needed it to cut out all HTML code that was inside Reuters RSS feeds because it lead to problems in displaying the information on the map. His feed provider however doesn't include HTML tags in the RSS feed at all.
The same author - with the name "Karthik" - also published another mashup http://cnntop.googlemashups.com/ where the copying of my source code is even more visible. You can compare the source codes if you want, however I don't think you have to. The similarities are too evident. Anyway:
Copyright violation
News Mapper is licensed under the Apache 2.0 license.
Point 4 of the license refers to the redistribution saying the following:

4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

  1. You must give any other recipients of the Work or Derivative Works a copy of this License; and

  2. You must cause any modified files to carry prominent notices stating that You changed the files; and

  3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and

  4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
All in all, with this post I publicly encourage the author of those applications to apply the terms specified in the Apache 2.0 license and to add the appropriate copyright notices, placing a link to my News Mapper.

The idea behind Open Source is not to copy and distribute under the own name, but to learn from existing code for exchanging knowledge and eventually contributing to it. It is not a nice way as the author (Karthik) has done it. :)
Questions? Thoughts? Hit me up on Twitter
comments powered by Disqus