B4J Library MashPlugins are in violation with the ABM License Agreement

Status
Not open for further replies.
MashPlugins is in clear VIOLATION of the ABMaterial LICENSE AGREEMENT!

I was very interested in how MashPlugins tackled the grid problem. To my surprise, after investigating the source code (which I was given by Mashiane a couple of weeks ago in view of a cooperation to build a designer), the source code looked almost exactly like my original ABM Java code! Up to the naming of my protected variables, which cannot be accessed by 'normal' use of the ABM library.

So this can only mean one thing: Mashiane has Reverse Engineered the ABM Library, while the license agreement clearly states:

2. YOU MAY NOT COPY, SUB-LICENSE, REVERSE ENGINEER, DECOMPILE, DISASSEMBLE, OR MODIFY THIS LIBRARY IN ANY WAY.

Just one of the many examples:

Original ABM library Java:
B4X:
protected String GridBaseId="R"; // cannot be seen from outside the library, unless decompiled!

public RowDef AddRow(int numberOfCells, boolean centerInPage, String rowThemeName, String cellThemeName) {
       RowDef rowDef = new RowDef();
       rowDef.NumberOfrows = 1;
       rowDef.CenterInPage = centerInPage;
       rowDef.MarginTopPx=0;
       rowDef.MarginBottomPx=20;
       rowDef.ThemeName = rowThemeName;
       switch (numberOfCells) {
       case 1:
       case 2:
       case 3:
       case 4:
       case 6:
       case 12:
           int sizeCells = 12/numberOfCells;
           rowDef.AddCellsOS(numberOfCells, 0, 0, 0, sizeCells, sizeCells, sizeCells, cellThemeName);
           break;
       default:
           BA.Log("numberOfCells can only be: 1, 2, 3, 4, 6 or 12");
       }
       Rows.add(rowDef);
       return rowDef;
}

B4J Mash Plugins:
B4X:
Private GridBaseId As String = "R"

Sub AddRow(numberOfCells As Int, centerInPage As Boolean, rowThemeName As String, cellThemeName As String) As MashGridRow
   Dim grdRow As MashGridRow
   grdRow.Initialize
   grdRow.NumberOfrows = 1
   grdRow.CenterInPage = centerInPage
   grdRow.MarginTopPx = 0
   grdRow.MarginBottomPx = 20
   grdRow.ThemeName = rowThemeName
   Select Case numberOfCells
       Case 1:
       Case 2:
       Case 3:
       Case 4:
       Case 6:
       Case 12:
           Dim cnt1 As Int = 12 / numberOfCells
           grdRow.AddCellsOS(numberOfCells, 0, 0, 0, cnt1, cnt1, cnt1, cellThemeName)
       Case 5:
       Case 7:
       Case 8:
       Case 9:
       Case 10:
       Case 11:
       Case Else
           Log("numberOfCells can only be: 1, 2, 3, 4, 6 or 12")
   End Select
   Rows.add(grdRow)
   Return grdRow
End Sub

So MashPlugins is the result of THEFT and anyone using it is considered doing the same.

Consequences of this unfair use of ABMaterial results in the following:

1. Anyone using MashPlugins is immediately revoked of its ABM Donator Rights
2. ABM 4.25+ can break any program using MashPlugins and make it unusable in the future.
3. ABM 4.25+ WebApps using MashPlugins will show a message to the user that is using the illegal MashPlugin library

@Mashiane I am clearly VERY DISSAPOINTED! Really Mashiane, how could you? I gave you in confidence the un-obfuscated version of my development version of ABM but I never expected this. It is a slap in the face for the tens of thousands of hours I've put in ABM. I should've been suspicious when in our cooperation project for the designer, you quickly mentioned stuff like 'we could parse and reverse engineer', on which I immediately replied 'I don't like those terms'. I am probably to naive and some people just don't have the imagination to create something original I guess...
 

alwaysbusy

Expert
Licensed User
Just to clarify: since the beginning of ABM I've send over the complete source code of ABMaterial to Erel ('the vault') every now-and-then. So if anything happened to me, and there is a community need, he'll be free to do with it how he sees fit. That is the amount I care and try to think ahead so no user of ABM would ever come in trouble. I hope this can reassure everyone who has doubts in starting to use ABM (which I completely understand).
 
Status
Not open for further replies.
Top