As an open-source project that builds upon the work of many developers, we are happy to share our innovations to the MediaWiki platform with others who might find the code useful. It’s been our practice to make that code available to anyone who would like to download it by following a link on this page: http://www.wikihow.com/wikiHow:Powered-and-Inspired-by-MediaWiki Unfortunately, we’ve recently encountered problems with a number of people who have built copycat sites using our source code. Instead of building new wikis, they simply copy our site and content, which infringes upon wikiHow’s trademarks and violates our Creative Commons license. In addition, these sites are usually set up incorrectly by unskilled developers, which leads to unnecessary load on our servers and causes problems for our engineering team. This use of our software harms wikiHow, and doesn’t benefit the open source software community. In response to this, I’m proposing that we make a small change to how our source code can be obtained. Instead of a live link on our site, we’ll ask that people email us at support@wikihow.com requesting our source. This shouldn’t discourage good-faith uses of our source, but might deter copycats. Since this is a move to less openness that we’ve had in the past, I’d like community input on this change. Does this seem like a good idea?

This is…a horrible idea. wikiHow should be trying to work with upstream (MW core) to get their patches included, many of which would be accepted pretty easily IMO. Doing that will increase the quality of the MediaWiki codebase, as well as wikiHow’s. If you’re having trademark issues, that sounds like an issue for your legal team to deal with, not start hiding code from people (which we know won’t work: https://en.wikipedia.org/wiki/Security_through_obscurity ). And to be blunt, I honestly doubt a site that is set up by an “unskilled developer” could actually cause enough traffic to cause a DoS. This is highly contrary to the WikiWay ( http://meatballwiki.org/wiki/WikiWay ), and will overall hamper the success of the wiki. In addition, this greatly hampers the ability for anyone to fork ( http://meatballwiki.org/wiki/RightToFork ), given that you could easily refuse to provide them with the code. – Legoktm (MediaWiki dev & sysadmin, WikiHow reader, etc.)

Making links relative, including images with the dump (if they aren’t already), and requiring keys for any api requests the extensions etc may use (reusers can set up their own keys for their own server), and the like would probably be the best way to deal with server load issues. This way the code will be better in the first place, it’ll be harder for reusers to mess up, and it won’t compromise the openness of the source itself. Also what legoktm said about copyright and trademark issues. Wikimedia’s legal team deals with a lot of this with Wikipedia, too, but from what I’ve seen the mimics don’t even always use the same platform in first place, so this isn’t going to solve the problem. You need to enforce copyright and trademark on a legal level, not software or social, because no matter what you do with the source, this is just what happens when you’re successful. – Isarra (also a MediaWiki dev & sysadmin, and reuser of wikiHow’s code)

I don’t think that this is a good idea. Trademark and copyright violations are, of course, serious issues and I’m not saying that wikiHow shouldn’t defend what’s rightfully its own, but I think this shouldn’t be done at the expense of volunteer developers. Some people want to profit off others’ hard work – always have and always will; the correct solution, in my view, is to target these offenders instead of everyone else . Emailing is free, but what guarantee is there that the request will be handled swiftly? Nothing. Furthermore, this would create additional work for wikiHow staffers who could and should be focusing on other things, such as getting the mobile apps’ source code published, for example. Chris, you wrote that “[…] leads to unnecessary load on our servers and causes problems for our engineering team”; could you please elaborate on this? I can’t think of a way how setting up a(n illegal) clone of wikiHow would hammer wikiHow’s servers. I’ve been one of the most vocal individuals from the larger MediaWiki community, speaking for openness and open development. Over the years wikiHow and its staff members have created many wonderful things, such as the MultiUpload extension , originally written by Travis Derouin for wikiHow and then subsequently enhanced by many other developers, which is currently in use on almost 2000 public wikis , and of course, the various skins…the BlueSky skin I built this summer is based on wikiHow’s work (and it intentionally uses a different color palette than wikiHow). Earlier this year I spoke with some people about how wikiHow’s extensions and other tools could be further enhanced from an internationalization (i18n) point of view. One of the concerns brought up was that because wikiHow’s development process isn’t open, wikiHow tools cannot be (in the current situation) added to translatewiki.net (TWN) . TWN is a key factor in proper i18n and l10n support of many MediaWiki extensions and the MediaWiki core itself. The status quo regarding wikiHow’s source code has always been problematic, but at least so far the source has been available and third-party developers like me have been able to get it, examine it and build upon it without having to wait for hours, days or possibly weeks. If anything, wikiHow should be looking into ways to increase its openness and collaboration with upstreamin order to create better tools, a smoother User Experience and overall to improve both MediaWiki and wikiHow. Looking at wikiHow’s list of staff members , out of the 36 listed user accounts, one is a bot account and at least six ones (and one who doesn’t have staff rights on-wiki for some reason?) who are engineers as far as I’m aware. Seven might not be much, but it definitely is enough to have someone focus more on upstream issues and what features wikiHow wants to add to the next release of MediaWiki. Finally, let me tell you a story – about building on MediaWiki and collaborating with upstream. ShoutWiki has a rather small engineering team and our overall staff team is about one third of the size of wikiHow’s, but we host over 4,500 wikis in over 20 different languages. We’ve developed and we maintain a number of extensions and skins . We try to keep our MediaWiki as up-to-date as possible – that is, with regards to the latest stable release; we’re not running git master on our production sites, lord forbid:wink:– and despite that our process isn’t perfect, despite that we’ve had to make some minor changes to MediaWiki core code (“core hacks”), we appreciate the support and the patches provided to us by third parties, such as TWN, and having a very limited number of these core hacks makes upgrading relatively easy (compared to how difficult it could be).

While I can certainly see where you’re coming from, Chris, I’ll have to disagree. Even though I hope this would never happen, what if this turns into a situation where people who want the code are asked a bunch of questions (i.e. Why do you want the code?, Do you really need it?, etc.) and being denied access to the code if the staff happens to have a personal dislike for the planned use of it. Overall, I just feel like this would be subtly moving away from our free license.

Interesting! The only name I recognize is WritingEnthusiast who has been on the site around 6 months. Isarra and WhyDoIHaveToCreateAnAccount created accounts just today. Sorry guys… Hang out a while, become part of this community, and I might take you more seriously. Jack Phoenix has had an account for seven years and is a mediwiki developer (Great post!) who wants us to work with MediaWiki to make ourselves more open with less difficulties of the sort Chris is mentioning. Jack and Chris: We need to find a way to share without bogging down our own servers or spending a lot of time developing sites for other people or groups. If this means encouraging the would be “borrowers” to come through us before copy/pasting wholesale? I don’t see this as an issue. It’s not as if we run the original version of media wiki on wikiHow. We run a rather highly modified version… with it’s own glitches and quirks… which any borrower needs to understand in order to use it properly. How better to understand them than to work with us on this? If all someone is after is a wiki site? Let them take the original version from mediwiki and hack it to their needs. I don’t feel that wikiHow should be required to develop other wiki site(s) on demand just because we are willing to share our source code. Nor should we be required to spend our time or money troubleshooting other wiki sites for groups (or individuals) whose ambition outweighs their programming abilities. If mediawiki would like? We could forward these types of requests directly to them and they can interact with their fan base directly instead of shunting through wikiHow and being dissatisfied when wikiHow throttles back the amount of time and effort we’re willing to donate to sites that are not our own. /two cents

I empathize with the previously posting MediaWiki developers on this issue (and whose roles in the community I can vouch for) - this is a pretty sensitive issue in the open source software community in general, and making our source even more inaccessible will make it harder for well-meaning developers. We should be embracing our connection with upstream MediaWiki and working with them to improve both of our code bases. That said, I can not at the moment figure a way to discourage trademark violations, seeing as we don’t have paralegal staff - but maybe their links can be removed from Google for copyright infringement?

Yes, and as you can tell by my username, I wasn’t expecting to have to do that:slight_smile:But maybe I mis-interpreted who this forum post was for. I am an active MediaWiki core and extension developer (as I said earlier), who has worked with and helped upstream wikiHow code back into core and extensions. I don’t edit wikiHow very often (I’ve done it once or twice as an anonymous user), nor do I follow the site that much. But I do care about and have an interest in the software development of the site, which is why I posted.

That’s part of the problem IMO. wikiHow shouldn’t need modifications like that. Those modifications should be upstreamed into MediaWiki core or as proper extensions. Doing so improves not only the wikiHow code base but also the greater MediaWiki ecosystem, like Jack has done.

I don’t think anyone has suggested that at all. In fact, the note on https://src.wikihow.com/ makes it pretty clear that the exact opposite is the case. Anyways, let’s look at this from a different perspective. My name is currently listed on http://www.wikihow.com/Special:Version for an extension I wrote that wikiHow uses. Now, I could have easily just kept the source code on my own web server and told people that if they wanted to get the code, they could email me. Would wikiHow be using the extension if that were the case? I highly doubt it. Or the 200+ core commits that I’ve made over the past few years? Highly doubt that as well. --Legoktm

A legal team is exactly what you need for trademark and copyright issues. Getting links removed, servers taken down, etc etc is precisely what they would do, and really the only thing you can do that works in practice. You need to enforce your trademarks and copyrights, or they’re not worth anything at all. Look at Wikipedia for an example of why software solutions wouldn’t work - there have been all manner of copycats, even quite a few that were on entirely different platforms (like blogs) that just copied appearances, logos, and/or content. Thus even if Wikipedia were entirely closed-source, and under a license that completely disallowed distribution of content, those cross-platform copies would still happen. And the same goes for wikiHow. But like Wikipedia, your strength is that you aren’t closed source, and your content really is free, so anyone who does try to rip you off will just look that much worse for it. But you still need to go after them when they do.

Ah! That DOES help a bit. (Thanks Sudo! ) Okay… so… I suppose we’d have to ask _why_ wikiHow doesn’t collaborate “upstream” to wikiMedia to the degree suggested (subtext: for the betterment of the code and wiki community)? Is it a money issue? (Does this cost any one significantly more $$?) A cooperation issue? as in “we tried that, and they couldn’t/wouldn’t help us”? (History does repeat itself… so perhaps there’s current inertia due to past encounters?) If either of the above, this discussion should be taking place between developers and not on the wikiHow forums. (subtext: Work it out dudes/dudettes!) If, however, it is a philosophical issue only, with minimal money or cooperation aspects… I’d have to say: We love to share. We’re HAPPY to share. We just don’t want to be put to extra trouble and expense simply because someone wants to rip us off. Borrow/copy/use our code… but don’t be stupid about it. (subtext: I’d give you the shirt of my back… but if you RIP it off me? I’m gonna be upset!) Hm… and that brings up another thought… How long has this been an issue? Surely we’ve had similar issues from the beginning of wiki? Why have we not come up with a clever/smart/brilliant way to resolve the issues yet?

It seems to me that, step-by-step, wikiHow is moving away from the founding principles—creation of an open community in which a group of volunteers works to shape the content and direction of the enterprise. I see this as yet another step toward what Jack initially shunned when creating wikiHow.

Hm… I’ve been around for a longish while on this site… and I just don’t see your point Alabaster. We’re not preventing anyone from gaining access to our source code. All we’re doing is saying “Please check with us first so you don’t inadvertently cause us problems with bad coding down the line.”

@Loiswade42 - I am not asking you to see my viewpoint.—I am just expressing it.

I don’t think wikiHow should share it’s code openly. It is a unique product (ducking as the flamers fire up their keyboards…). Yes we should share up-stream to wikimedia. I have no problem with that. We are part of that community. Let’s separate the two issues - sharing upstream with wikimedia and sharing out to the world. I don’t see this as an issue of sharing bug fixes with the upstream developers, but protecting the adaptations that make wikiHow unique. That being said, I think that Chris’ suggestion is a balanced one. If wikimedia really needs direct access to our code, then I’m sure there is a way to make that available to them as well. What I find most telling and interesting about this thread is the role that wikiHow now plays in the wikimedia community when it comes to innovation. Because of a simple suggestion to protect our code, we suddenly have two wikimedia developers in a panic, creating accounts in our community to protest this. It seems that without wikiHow’s input to the upstream development process that wikimedia will be somehow crippled. Fascinating.

Perhaps I’m mistaken, but won’t we bump into issues with our open source license if we restrict access to our source code?

I don’t think so. CC licensing typically say that you can’t resell for a profit. It doesn’t say you have to share.

Only the content and most images are CC. Our code is licensed GPL. MediaWiki core is GPL. We have to make it accessible in its preferred format. MediaWiki’s code is public, and ours is (without commit history) and should remain that way. So essentially, you can’t separate the two. Sharing with Wikimedia IS sharing with the world. I think what the MediaWiki devs are hinting at is that we’re going the wrong direction in terms of open source and contributions upstream. It’s a reasonable expectation that if we’re profiting off of some of their core innovations, we should be giving back to the MediaWiki community, but we don’t as much as we should. At least if it remains open source they stand at least some chance of being shared with the rest of the world.

Wikimedia’s entire premise is sharing content with the world. Your distinction makes no sense.

Creative Commons licenses are all centred around the sharing of content, as that is what they were created for. Most do not even touch on commercial use, though that stipulation, like others for derivatives, can be added if needed. Wikipedia has some pretty good articles on the subject, but only if you don’t mind that they’re sharing their content with you regardless of whether or not you are a community member.

Also what SudoKing said. It’s not even that we necessarily expect anything back, either - there are plenty of folks who use and hack on MediaWiki and keep everything internal, and that’s just fine. (Hells, I’ve even done that purely out of embarrassment for my bad code before.) The thing is, if wikiHow does work with upstream, even if it’s just by making it easier for random passerby to pick up their work and carry it along, everyone wins. That’s what we want. We want it to improve MediaWiki core, and we want it become easier for wikiHow to do amazing things, because these things go hand-in-hand.

And I don’t have a problem with that but there are multiple ways of of sharing with the public and upstream. I also question how interested in our code and bug fixes the devs at MediaWiki are? Do we know how and when they collaborate and use our code improvements or is this just a question of opensource principle?