Oh, no, wikis, widgits, wombats, they all look about the same to me. Variously sized spheres...
The basic idea is perhaps that a community can create a better website together, than anyone has the time/staff/etc to do in isolation.
So, it's a website where anyone can create or edit pages.
Everything follows from that. Editing html can be annoying, so to make it a bit easier, and to help random users, there is usually some simple abbreviation scheme. (Such as this.
There is some variation, but its all just a few regexps.)
People can make mistakes, or want to see whats new, and there is the occasional vandal, so one has versioning. Bottom of the page, "diff", and "View other versions". Top of the page, "RecentChanges". The last bit is to make linking between pages, the pages are usually given titles like "FooBar", so any mention of FooBar becomes a link to the page, without having to do anything. Though some wikis also allow other titles, and use Perl Monks square-bracket approach. And I think that's about it.
is just one (large) perl file.
The underlying thought is that people are willing and able to contribute if a mechanism is provided. And the lower the barrier to entry, the more that will get done.
For instance, the other day I added a page to the Ruby wiki. Python had a nice page on using other languages from Python, so I wrote one for Ruby. And added a link to it from the python page. It wasn't necessary to get access to some machine, submit a cvs patch, or anything else. Even creating an account was optional. Just a quick in, bang, done. Then I went looking for a perl wiki...
My fuzzy impression is that vandalism tends, as is usual for such things, to be infrequent and unsystematic. So the larger and more persistent rest of the community can absorb the impact, and clean up after it.
Sounds a bit like Ted Nelson's notion of hypertext (pre web)! Also like the original web. Tim B-L's original Next-based browser had editing (thus POST). Mosaic was great for web popularity, but one wishes there had been a nice Xlib "text field" widget lying around, which NCSA could have been encouraged to include. Things quickly became broadcast only, and had to wait for forms to recover even a little. :( Imagine an alternate timeline where...