I'm sure many of you have seen this but I thought I'd post it here. Nick Hodges there is no reason to wait on Emb to get started. I say just create a repo and start commiting and accepting pull requests. You already know you have enough volunteers to get it off the ground. You said you wanted an open source project to work on. Well, here it is. Emb would be fools to ignore a massive collection of well written tests that essentially act as a self-validating spec for the entire RTL/VCL
I'm sure many of you have seen this but I thought I'd post it here. Nick Hodges there is no reason to wait on Emb to get started. I say just create a repo and start commiting and accepting pull requests. You already know you have enough volunteers to get it off the ground. You said you wanted an open source project to work on. Well, here it is. Emb would be fools to ignore a massive collection of well written tests that essentially act as a self-validating spec for the entire RTL/VCL
http://nickhodges.com/post/In-Which-I-Argue-That-Embarcadero-Should-Open-Source-Their-Unit-Tests.aspx
http://nickhodges.com/post/In-Which-I-Argue-That-Embarcadero-Should-Open-Source-Their-Unit-Tests.aspx
That is a good point! How to divvy up the task?
ReplyDeleteLars Fosdal Perhaps by someone opening a site with a list of the units, and asking people to sign up, per unit?
ReplyDeleteAnd a question: Will this be limited to the current release?
ReplyDeleteKenneth -- You are right. I'm going to work on that this weekend.
ReplyDeleteAnd I'm going to use DUnitX as well. ;-)
Here we go: A humble start, but you have to begin somewhere:
ReplyDeletehttps://bitbucket.org/NickHodges/delphi-unit-tests/overview
Would it be wrong to ask Nick Hodges to use his knowledge of his former employer to suggest which areas of the RTL and VCL could use the most attention?
ReplyDeleteGenerics and databases are among the more complex. Conversion and formatting is also a pretty large area.
ReplyDeleteHey, if EMBT can get paying customers to work for them for free, then all the power to them. I'm certainly not paying for my products more than once.
ReplyDeleteIf the tests are open source, they are not created for EMBT, but for all us Delphi users to knock EMBT over the head with - and could work for FPC/Lazarus too. To participate would of course be voluntary.
ReplyDeleteKevin Powick That's the beauty of it - if you don't want to help, feel free not to. We'll get by without you somehow.
ReplyDeleteNick Hodges, I didn't realize participation required royal approval. I supposed if I recognized any authority you may believe that you have, I would thank you for freeing me from any obligation. Alas, I do not recognize any such authority, but by all means, feel free to continue with the condescending quips.
ReplyDeleteHmmm... Why not just start from expanding the existing units tests in Lazarus/FPC?
ReplyDeleteThey form a very large foundation already, and FPC & LCL have equivalents for many RTL and VCL classes. In the long run, this is more a win win situation, as EMBT may end up ignoring the open source tests entirely.If targeting FPC, at least all the work wouldn't be lost.
Also you could probably make tests for the many significant open-source library out there, many of which are higher quality than the RTL (especially in recent iterations), and you also stand a greater chance of your tests being useful, while Delphi RTL tests would at best help for the N+1 Delphi version, given the very very limited maintainance of released Delphi versions.
Anyway since EMBT didn't ever seem to bother leveraging existing Delphi open-source projects with test suites to test their compiler and RTL changes, these tests may just result in creating more frustrations with the EMBT Ivory Tower.
Eric Grange I'm totally fine with integrating the FPC tests into this project.
ReplyDeleteKevin Powick I'll continue with the witty, condescending quips as long as you continue with the holier-than-thou attitude. Deal?
ReplyDeleteWow, someone needs to back the hostility truck up... not sure who though.
ReplyDeleteNick Hodges . I tried to direct this to you by using using "+thou", the one whom I'm allegedly holier than, but, astonishingly, at least to you I'm sure, your name didn't come up.
ReplyDeleteI think you have your deal, and here I will stop, before Lars gets on the horn about turning this into Delphi non-tech.
Kenneth Cochran . Nick doesn't like it when people disagree with one of his ideas. So, instead of a thoughtful rebuttal, he goes on a personal attack. I don't usually respond well to those, but it's out of my system now. :)
ReplyDeleteI don't mind people disagreeing with my ideas. I do mind people raining on my parade when there was no need to.
ReplyDeleteIn any event, my apologies to all.
What license are the FCL and LCL unit tests released under? If memory serves the public APIs are LGPL w/static linking exception but the FPC and IDE internals are GPL. If the unit tests are GPL will this interfere with EMB or anyone else using them? We need to agree on a license so everyone's on the same page. It can be complicated to do this after contributions are already accepted, especially if some contributors are no longer reachable. No offense to Richard Stallman but personally I prefer the more permissive licenses.
ReplyDeleteGiven that tests don't contain implementations and wouldn't need to be sold or delivered with the product, there license is irrelevant as long as embt can run them, no? They aren't like code you compile or binaries you use in final products.
ReplyDeleteWell that would all depend on whether someone could interpret a bug fix or for that matter an entire reimplementation of the RTL based on a GPLed test suite as being a derivative work. The definition of derivative work has never been defined clearly enough for my tastes. If there is any chance of being exposed to litigation and potentially losing control of proprietary IP this could hamper interest in using the project.
ReplyDeleteI'm not saying any of the contributors to the free Pascal or Lazarus projects would do such a thing but the potential would exist.
I think something like the Apache or MIT license would be best.
ReplyDeleteGreat idea Kenneth!
ReplyDeleteI will be contributing. :)
UI (vcl,fmx) tests is a big thing too. (At least the tests that dont need human-visual verification). Btw: would it be legal to do server-side dccxx compilation/runs? (thinking in something like jsperf)
ReplyDelete" 2.4. Command Line Compiler. Licensee may install the command line compiler on a separate computer from the Product itself, provided that the sole purpose of doing so is to allow that computer to perform unattended building of applications. The Command Line Compiler shall not be considered a ‘redistributable’."
ReplyDeleteSo yes. Presumably all contributors will be legal licensees.