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:
Just one of the many examples:
Original ABM library Java:
B4J Mash Plugins:
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...
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...