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

Comments

  1. That is a good point!  How to divvy up the task?

    ReplyDelete
  2. Lars Fosdal Perhaps by someone opening a site with a list of the units, and asking people to sign up, per unit?

    ReplyDelete
  3. And a question: Will this be limited to the current release?

    ReplyDelete
  4. Kenneth -- You are right.  I'm going to work on that this weekend.

    And I'm going to use DUnitX as well.  ;-)

    ReplyDelete
  5. 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?

    ReplyDelete
  6. Generics and databases are among the more complex.  Conversion and formatting is also a pretty large area.

    ReplyDelete
  7. Hey, 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.

    ReplyDelete
  8. If 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.

    ReplyDelete
  9. Kevin 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.

    ReplyDelete
  10. Nick 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.

    ReplyDelete
  11. Hmmm... Why not just start from expanding the existing units tests in Lazarus/FPC?
    They 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.

    ReplyDelete
  12. Eric Grange I'm totally fine with integrating the FPC tests into this project.

    ReplyDelete
  13. Kevin Powick  I'll continue with the witty, condescending quips as long as you continue with the holier-than-thou attitude.  Deal?

    ReplyDelete
  14. Wow, someone needs to back the hostility truck up... not sure who though.

    ReplyDelete
  15. Nick 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.

    I think you have your deal, and here I will stop, before Lars gets on the horn about turning this into Delphi non-tech.

    ReplyDelete
  16. 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. :)

    ReplyDelete
  17. I don't mind people disagreeing with my ideas.  I do mind people raining on my parade when there was no need to.

    In any event, my apologies to all.

    ReplyDelete
  18. 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.

    ReplyDelete
  19. Given 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.

    ReplyDelete
  20. Well 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.

    I'm not saying any of the contributors to the free Pascal or Lazarus projects would do such a thing but the potential would exist.

    ReplyDelete
  21. I think something like the Apache or MIT license would be best.

    ReplyDelete
  22. Great idea Kenneth!

    I will be contributing. :)

    ReplyDelete
  23. 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
  24. " 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’."

    So yes. Presumably all contributors will be legal licensees.

    ReplyDelete

Post a Comment