Abuse of Intellectual Property Rights

  • Context: News 
  • Thread starter Thread starter jack action
  • Start date Start date
  • Tags Tags
    Property
Click For Summary
SUMMARY

The forum discussion centers on a DMCA complaint filed by Casio against a hacker who modified a CASIO calculator to access the internet. The hacker claims to have used only publicly available resources and asserts that his project does not contain any proprietary Casio code. Casio's complaint alleges copyright infringement, stating that the repository contains their source code, which the hacker disputes. The discussion highlights the complexities of intellectual property rights in the context of technology modifications and the implications for educational use.

PREREQUISITES
  • Understanding of DMCA (Digital Millennium Copyright Act) and its implications.
  • Familiarity with Arduino programming and .ino file structure.
  • Knowledge of intellectual property rights and copyright law.
  • Basic understanding of hardware modifications and embedded systems.
NEXT STEPS
  • Research the implications of DMCA on open-source projects.
  • Learn about Arduino programming and how to create .ino files.
  • Investigate case studies on intellectual property disputes in technology.
  • Explore hardware modification techniques and their legal ramifications.
USEFUL FOR

This discussion is beneficial for software developers, hardware hackers, legal professionals specializing in intellectual property, and educators concerned about the implications of technology modifications in academic settings.

Physics news on Phys.org
So basically, a hacker modded a cheap CASIO calculator with code he says he wrote from scratch using publicly available resources. Someone commented in the article that the mod could be used to cheat on exams. The hacker said he hoped that's not the case.

Casio came down on him claiming he used proprietary Casio code and then used the DMCA to take down his project on Github. He is fighting back.

I think Casio used the DMCA to protect their brand especially in light of the potential for cheating mentioned earlier which could get Casio banned from the educational world out of fear that it could happen and teachers wouldn't know how to combat it without a Casio ban. That could cost them a lot of money I'm sure.
 
  • Like
  • Skeptical
Likes   Reactions: jack action and berkeman
Casio claims the repository contains its source code. The repo owners claims it doesn't. Shouldn't take too long to see who is right.
 
Vanadium 50 said:
Casio claims the repository contains its source code.
How do you access private source code within the calculator? That would be pretty absurd to put it there in the first place.
 
Where there is a lawyer, there is a way for some money making argument to be made.
 
  • Like
Likes   Reactions: Bystander, Rive and Astronuc
Vanadium 50 said:
Casio claims the repository contains its source code. The repo owners claims it doesn't. Shouldn't take too long to see who is right.
It's prima facie a false complaint.

The DMCA complaint (available at https://github.com/github/dmca/commit/1e533a25356944db37d238361989ec1ceb2cc215) says in pertinent part:
**Please provide a detailed description of the original copyrighted work that has allegedly been infringed. If possible, include a URL to where it is posted online.**
It came to our attention that the below-mentioned repository is using copyrighted source code in order to modify Casio's copyrighted program.​
Link to the original content:​
**What files should be taken down? Please provide URLs for each file, or if the entire repository, the repository’s URL.**
The entire repository is infringing. In accordance with your Guide, I explicitly confirm that all of the content at the URL infringes.​

The code that is cited as the copyrighted code is completely unrelated to the code in the repository, which is all .ino (Arduino) files, and contains no Casio proprietary code.

The guy changed the project name and description to:
esp-oled-firebase-Integration
0.91" inch OLED and a esp8266-12E, which is integrated to firebase to fetch text file and send and receive text message.​
Here's the file list:

1594861547755.png


the 'main' subdirectory:

1594860035986.png


Two candidates that I looked at for possible infringement are the firebase code, and the data management code.

Here's firebase:
Code:
//To fetch data from firebase, User2 should be your patners user name
String fetchStringData()
{

   if (Firebase.getString(firebaseData,"/User2/chat"))
     {
        if(firebaseData.stringData())
        {
          return firebaseData.stringData();
        }
        else
        {
          return "No Text!";
        }
     }
     else
     {
      Serial.println(firebaseData.errorReason());
     }
}

//To send data to firebase, User1 should be where you send the data
  void insertData(String value)
  {
    if (Firebase.set(firebaseData, "/User1/chat", value))
    {
      return;
    }
    else
    {
      Serial.println(firebaseData.errorReason());
    }
  }
and here's data management:
Code:
/*This function writes the data to the file system*/
void writeDownloads()
{
  File spiffTextFile = SPIFFS.open(textFilePath, "w");
  if(spiffTextFile)
  {
    spiffTextFile.print(textFile);
    spiffTextFile.close();
  }
}

/*This reads the data from the file system and store it in textFile variable*/
void readDownloads()
{
  File spiffTextFile = SPIFFS.open(textFilePath, "r");
  if(spiffTextFile)
  {
    int i;
    for(i=0;i<spiffTextFile.size();i++) //Read upto complete file size
      {
        textFile += (char)spiffTextFile.read();
      }
      spiffTextFile.close();  //Close file
  }
}

/*
  To read JSON file form flash
  this setup is not necessary if you have to read single URL, u can get away with above function
  but this helps us to get multiple fields in the esp hosted server to enter multiple data.
*/
void readFlashJson()
{
    if(SPIFFS.exists(textFileUrlPath))
  {
    const char* _url = "";
    File configFile = SPIFFS.open(textFileUrlPath,"r");
    if(configFile)
    {
      Serial.println("Reading to file");
      //getting the size of the file
      size_t size = configFile.size();
      //using buffer to get the data
      std::unique_ptr<char[]> buf(new char[size]);
      //store it in buffer
      configFile.readBytes(buf.get(), size);
      //closing the file
      configFile.close();
      //json buffer to store the json
      const size_t capacity = JSON_OBJECT_SIZE(1);
      //json buffer to store the json
      DynamicJsonDocument doc(capacity);
      //parsing the json object
      DeserializationError error = deserializeJson(doc,buf.get());
       if(!error)
      {
        _url = doc["link"];
        textFileUrl = _url;

  /*More debugging*/

//        Serial.println(textFileUrl);
//        Serial.println();
      }
    }
  }
}
Downloading the Casio code from the link in the DMCA complaint requires agreeing to their license, and especially given that it's the subject of a DMCA complaint, I won't post it here. It's 59 lines of sample code for a fx-FD10 Pro that imports fields from a CSV file (using a USB connection) ##-## here's what that file looks like in Excel:

1594862664298.png


The Casio code clearly has no contributory relationship whatsoever to the project code. None of the project code has anything to do with the calculator. The project doesn't even use any of the fx-991MS calculator's hardware other than the case.

1594861237437.png

Everything runs in the wifi processor, input is entirely from the Hall Effect sensors, and output is only to the OLED screen that sits where the solar cell was. The project uses a battery, and let's the calculator use the battery for power instead of its no-longer-present solar cell.
 
  • Informative
Likes   Reactions: Ophiolite

Similar threads

Replies
3
Views
1K
  • · Replies 1 ·
Replies
1
Views
802
  • · Replies 9 ·
Replies
9
Views
4K
  • · Replies 20 ·
Replies
20
Views
8K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 14 ·
Replies
14
Views
5K
  • · Replies 10 ·
Replies
10
Views
4K
  • · Replies 1 ·
Replies
1
Views
604
  • · Replies 24 ·
Replies
24
Views
3K