In revision 1554, the src\3rdParty directory was deleted. It was added when we experimentally integrated the Dr. C# addin, but had to remove it later on because it wasn't maintained. What stayed around till that revision was the directory where it lived.
Last week, I had a discussion about repopulating that directory with a third party addin. Various good reasons why to add that specific addin to the distribution exist, but in the course of the discussion (which really forced me to rethink that third party source directory "feature") I found out that having tightly integrated third party addins in our codebase / distribution is no good idea:
- The need to sync the codebase in our src\3rdParty directory with the repository of the actual addin project (which might be developed on a different schedule). This also means that the burden of integration testing is upon us.
- Support issues. If you have an addin that almost perfectly blends into the #develop user experience so it looks like a stock feature, users will report bugs to us automatically. Or post feature requests to us. Users don't see where an addin is loaded from, they don't care.
- Linked to support issues is code quality. We don't intend to review someone else's code if it meets certain standards, less to speak if it hypothetically contains exploitable or even malicious code. A liability issue that we do not want to get into.
- Maintainance. Programmers don't necessarily maintain their addin forever, it might get abandoned. We are then faced with two options - take ownership or remove the feature. Both options are not feasible - for one, we might not know the inner workings at all which makes it extremely time consuming, or secondly, having to explain to users why a feature they (potentially) loved was kicked out.
For these reasons, we decided to remove that directory and continue to stick with our policy: our repository contains only our code (exceptions: non-addin libraries and build tools), and our distribution of #develop only contains addins that are maintained by us. This way we avoid those sticky issues.
One thing needs to be said - the name was in no way inspired by the anime movie of the same name. Oh no. There are two (more profound?) reasons for having choosen this particular name for the #develop team blog:
One: 'Laputa' is the name of the Soviet missile base that is the primary target in Kubrick's 'Dr. Strangelove'. Quoting the IMDB:
" Major Kong's plane's primary target is an ICBM complex at Laputa. In Jonathan Swift's 1726 novel Gulliver's Travels, Laputa is a place inhabited by caricatures of scientific researchers."
Make of that what you will, we think it is somewhat fitting.
Two: as mentioned above, Jonathan Swift's 'Gulliver's Travels, book III' describes a voyage - among other places to Laputa. To quote a short passage describing the inhabitants of this floating island:
"I observed here and there many in the Habit of Servants, with a blown Bladder fastned like a Flail to the End of a short Stick, which they carried in their Hands. In each Bladder was a small Quantity of dried Pease, or little Pebbles, (as I was afterwards informed.) With these Bladders they now and then flapped the Mouths and Ears of those who stood near them, of which Practice I could not then conceive the Meaning. It seems the Minds of these People are so taken up with intense Speculations, that they neither can speak, nor attend to the Discourses of others, without being rouzed by some external Taction upon the Organs of Speech and Hearing; for which Reason those Persons who are able to afford it always keep a Flapper (the Original is Climenole) in their Family, as one of their Domesticks; nor ever walk abroad or make Visits without him. And the Business of this Officer is, when two or more Persons are in Company, gently to strike with his Bladder the Mouth of him who is to speak, and the right Ear of him or them to whom the Speaker addresses himself. This Flapper is likewise employed diligently to attend his Master in his Walks, and upon Occasion to give him a soft Flap on his Eyes; because he is always so wrapped up in Cogitation, that he is in manifest Danger of falling down every Precipice, and bouncing his Head against every Post; and in the Streets, of jostling others, or being jostled himself into the Kennel."
This we again think quite fitting.
And lastly: this name has nothing at all to do with the Spanish term for 'woman of negotiable affection'. Period.
Finally, let me state the purpose of this blog: we just want to share our thoughts, the development process and meanderings of #develop with you. Categories are team members, not subject matter - this will make things more interesting