Skip to content

WIP: Start renaming KIO Slaves to KIO Workers.

Adriaan de Groot requested to merge work/remove-unsuitable-terminology into master

KIO Slaves are not slaves, so let's get rid of the name which is technically wrong and (more important, IMO) morally repugnant.

Because of source- and binary- compatibility, this is going to be a long road, which can only be finished in KF6 by dropping KIO Slaves and presenting KIO Workers (I'm open to other words, but this seems suitably generic: Workers do jobs). I think this can meaningfully be broken down into four phases:

  • introduce new headers, where s/slave/worker/ is applied. Each worker header #includes the old header. or copy the old header to a new header (same rename, different include guard) and then replace the old header with a #warning stating the header is deprecated, and #include the newly-named one. This phase just deals with filenames, preferred filenames for headers to get certain functionality, etc. The classes would remain untouched.
  • introduce new methods, where s/slave/worker/ is applied. For each old-named method, add a deprecation notice and call the new one.
  • rename the classes and introduce using OldName = NewName in the old header. This is a binary-incompatible change, since the old symbols still existed -- now they're just an alias. Perhaps some symbol-wizardry can save them. (Probably KF6 timeframe)
  • drop the old names. This is source-incompatible. (Definitely KF6 timeframe)

For phase 1 I think the second alternative is the better one: it leads to less churn in the long run, although it initially does mismatch classes with headers by putting the old names in new headers.

KF6 task: https://phabricator.kde.org/T13869

Edited by Méven Car

Merge request reports