Hello, at the end of last year, the FPC team was notified that certain portions of the FPC codebase contained possible copyright infringements on copyrighted code from Codegear (Borland).
As a precaution, an internal audit was done by the FPC team using an automated tool, and a list of routines was compiled that could possibly be considered a copyright infringement. The complete list is at the end of this mail. It was decided that these routines should be re-implemented with cleanroom implementations, to remove all suspicion from the FPC codebase. The FPC team has now finally completed creating cleanroom implementations, and the implementations have been committed to the main branch (trunk) of the FPC codebase. Later, these will be merged to the fixes branch, and release 2.2.2 will be created with this implementation. While extensive testing has been done (using the FPCunit testing framework), and the working of Lazarus with this new code was verified, it is possible that bugs remain. We would therefor very much appreciate that if you have code that uses some of the routines below, that you test your code with the latest FPC from subversion (revision 10572 or above) and report any bugs that you may encounter. If you do, please submit a bugreport in mantis: http://bugs.freepascal.org/ We'll give the code 2 weeks to be tested, and unless major problems pop up, the code will be merged to the fixes branch, and then release 2.2.2 will be started with this code. It is therefor vital that the code be tested very well, as it will definitely end up in the next release. For the FPC team, Michael. ----------------------------------------------------------------------- Complete list of replaced routines: Classes unit: ------------- ExtractStrings TParser.TokenComponentIdent TParser.NextToken TWriter.WriteComponent TWriter.WriteComponentData TWriter.WriteProperties TStringList.Grow TStringList.QuickSort TStringList.Find FindNestedComponent GlobalFixupReferences GetFixupInstanceNames RemoveFixupReferences RedirectFixupReferences GetFixupInstanceNames RemoveGlobalFixup RemoveFixups TReader.DoFixupReferences TReader.FindComponentClass TReader.ReadCollection TList.Extract TFPList.Assign TCollection.GetNamePath Strutils unit: -------------- SearchBuf DecodeSoundexInt Varutils unit: -------------- DoVarClearArray Math unit: ---------- MomentSkewKurtosis ComObj unit: ------------ HandleSafeCallException DB unit: -------- TDataset.CalculateFields TDataset.DataEvent TDataset.EnableControls TDataLink.CalcFirstRecord TField.CalcLookupValue TField.RefreshLookupList _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal