summaryrefslogtreecommitdiff
path: root/extensibility.mdwn
blob: 80e9fbfc472d493bf3fb0fac1210e40a0a1f4eb4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[[license text="""
Copyright © 2007 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the
terms of the GNU Free Documentation License, Version 1.2 or any later version
published by the Free Software Foundation; with no Invariant Sections, no
Front-Cover Texts, and no Back-Cover Texts.  A copy of the license is included
in the section entitled [[GNU_Free_Documentation_License|/fdl.txt]].

By contributing to this page, you agree to assign copyright for your
contribution to the Free Software Foundation.  The Free Software Foundation
promises to always use either a verbatim copying license or a free
documentation license when publishing your contribution.  We grant you back all
your rights under copyright, including the rights to copy, modify, and
redistribute your contributions.
"""]]

An extensible system is one that enables extensibility.  Enabling extensibility
means providing non-privileged mechanisms to extend existing objects and to
introduce new objects.  UNIX is generally not an extensible system as it does
not generally facilitate the hooking of system calls.  For instance, there is
no way to hook into the virtual file system.  This has motivated the introduction
of separate, parallel interfaces by both the GNOME and KDE projects to provide
users a more integrated view of their objects.