|
|
Subscribe / Log in / New account

Systemd 197 released

From:  Lennart Poettering <lennart-AT-poettering.net>
To:  systemd Mailing List <systemd-devel-AT-lists.freedesktop.org>
Subject:  [ANNOUNCE] systemd 197
Date:  Tue, 8 Jan 2013 03:14:48 +0100
Message-ID:  <20130108021448.GA30913@tango.0pointer.de>
Archive‑link:  Article

Heya,

There's quite some cool new stuff in this release:

http://www.freedesktop.org/software/systemd/systemd-197.t...

CHANGES WITH 197:

        * Timer units now support calendar time events in addition to
          monotonic time events. That means you can now trigger a unit
          based on a calendar time specification such as "Thu,Fri
          2013-*-1,5 11:12:13" which refers to 11:12:13 of the first
          or fifth day of any month of the year 2013, given that it is
          a thursday or friday. This brings timer event support
          considerably closer to cron's capabilities. For details on
          the supported calendar time specification language see
          systemd.time(7).

        * udev now supports a number of different naming policies for
          network interfaces for predictable names, and a combination
          of these policies is now the default. Please see this wiki
          document for details:

          http://www.freedesktop.org/wiki/Software/systemd/Predicta...

        * Auke Kok's bootchart implementation has been added to the
          systemd tree. It's an optional component that can graph the
          boot in quite some detail. It's one of the best bootchart
          implementations around and minimal in its code and
          dependencies.

        * nss-myhostname has been integrated into the systemd source
          tree. nss-myhostname guarantees that the local hostname
          always stays resolvable via NSS. It has been a weak
          requirement of systemd-hostnamed since a long time, and
          since its code is actually trivial we decided to just
          include it in systemd's source tree. It can be turned off
          with a configure switch.

        * The read-ahead logic is now capable of properly detecting
          whether a btrfs file system is on SSD or rotating media, in
          order to optimize the read-ahead scheme. Previously, it was
          only capable of detecting this on traditional file systems
          such as ext4.

        * In udev, additional device properties are now read from the
          IAB in addition to the OUI database. Also, Bluetooth company
          identities are attached to the devices as well.

        * In service files %U may be used as specifier that is
          replaced by the configured user name of the service.

        * nspawn may now be invoked without a controlling TTY. This
          makes it suitable for invocation as its own service. This
          may be used to set up a simple containerized server system
          using only core OS tools.

        * systemd and nspawn can now accept socket file descriptors
          when they are started for socket activation. This enables
          implementation of socket activated nspawn
          containers. i.e. think about autospawning an entire OS image
          when the first SSH or HTTP connection is received. We expect
          that similar functionality will also be added to libvirt-lxc
          eventually.

        * journalctl will now suppress ANSI color codes when
          presenting log data.
        * systemctl will no longer show control group information for
          a unit if a the control group is empty anyway.

        * logind can now automatically suspend/hibernate/shutdown the
          system on idle.

        * /etc/machine-info and hostnamed now also expose the chassis
          type of the system. This can be used to determine whether
          the local system is a laptop, desktop, handset or
          tablet. This information may either be configured by the
          user/vendor or is automatically determined from ACPI and DMI
          information if possible.

        * A number of PolicyKit actions are now bound together with
          "imply" rules. This should simplify creating UIs because
          many actions will now authenticate similar ones as well.

        * Unit files learnt a new condition ConditionACPower= which
          may be used to conditionalize a unit depending on whether an
          AC power source is connected or not, of whether the system
          is running on battery power.

        * systemctl gained a new "is-failed" verb that may be used in
          shell scripts and suchlike to check whether a specific unit
          is in the "failed" state.

        * The EnvironmentFile= setting in unit files now supports file
          globbing, and can hence be used to easily read a number of
          environment files at once.

        * systemd will no longer detect and recognize specific
          distributions. All distribution-specific #ifdeffery has been
          removed, systemd is now fully generic and
          distribution-agnostic. Effectively, not too much is lost as
          a lot of the code is still accessible via explicit configure
          switches. However, support for some distribution specific
          legacy configuration file formats has been dropped. We
          recommend distributions to simply adopt the configuration
          files everybody else uses now and convert the old
          configuration from packaging scripts. Most distributions
          already did that. If that's not possible or desirable,
          distributions are welcome to forward port the specific
          pieces of code locally from the git history.

        * When logging a message about a unit systemd will now always
          log the unit name in the message meta data.

        * localectl will now also discover system locale data that is
          not stored in locale archives, but directly unpacked.

        * logind will no longer unconditionally use framebuffer
          devices as seat masters, i.e. as devices that are required
          to be existing before a seat is considered preset. Instead,
          it will now look for all devices that are tagged as
          "seat-master" in udev. By default framebuffer devices will
          be marked as such, but depending on local systems other
          devices might be marked as well. This may be used to
          integrate graphics cards using closed source drivers (such
          as NVidia ones) more nicely into logind. Note however, that
          we recommend using the open source NVidia drivers instead,
          and no udev rules for the closed-source drivers will be
          shipped from us upstream.

        Contributions from: Adam Williamson, Alessandro Crismani, Auke
        Kok, Colin Walters, Daniel Wallace, Dave Reisner, David
        Herrmann, David Strauss, Dimitrios Apostolou, Eelco Dolstra,
        Eric Benoit, Giovanni Campagna, Hannes Reinecke, Henrik
        Grindal Bakken, Hermann Gausterer, Kay Sievers, Lennart
        Poettering, Lukas Nykryn, Mantas Mikulėnas, Marcel Holtmann,
        Martin Pitt, Matthew Monaco, Michael Biebl, Michael Terry,
        Michal Schmidt, Michal Sekletar, Michał Bartoszkiewicz, Oleg
        Samarin, Pekka Lundstrom, Philip Nilsson, Ramkumar
        Ramachandra, Richard Yao, Robert Millan, Sami Kerola, Shawn
        Landden, Thomas Hindoe Paaboel Andersen, Thomas Jarosch,
        Tollef Fog Heen, Tom Gundersen, Umut Tezduyar, Zbigniew
        Jędrzejewski-Szmek

Lennart

-- 
Lennart Poettering - Red Hat, Inc.
_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel



to post comments

Systemd 197 released

Posted Jan 8, 2013 19:37 UTC (Tue) by cesarb (subscriber, #6266) [Link] (20 responses)

The new network names seem a bit better than the biosdevname ones. Of course, there is the annoyance of a transition, but as long as distributions make sure the change from biosdevname to this new scheme only happens on a full reinstall (for instance by not installing biosdevname by default on a new install), it will not be a problem.

The only wart seems to be that the USB interface names will change if they are moved to a different port. The rule based on the MAC address might avoid this problem, but the resulting names are very ugly.

Systemd 197 released

Posted Jan 8, 2013 19:53 UTC (Tue) by mezcalero (subscriber, #45103) [Link] (19 responses)

Regarding USB cards it's hard to find a solution that pleases everybody. If we'd bind things to MAC addresses for USB, then it is difficult to replace broken hardware. If we bind things to the USB path then you cannot plug things into different USB plugs. Neither is ideal.

Ultimately we decided to just stick to the path-based naming for everything, since it would be weird to deviate only for USB for this, and given that none of the two options is clearly better than the other we think uniformity is a good thing to have.

You could see this from a different perspective: the new predictable names are really useful for admins to know which physical RJ45 ethernet port to plug their cat5 cable into. With the scheme we opted for as a default now you can now consider the USB ethernet adapter simply a trivial converter of cat5, so that instead of having to map cat5 cables to RJ45 port you now just have to map a cat5 cable to a USB port. Looking at it that way makes this choice kinda natural, doesn't it? If you think about it this way the USB ethernet adapter is really just a converter you can randomly replace, and the focus is stricly on matching up cables and physical ports on the computer itself.

That all said, this all isn't set in stone. We are very open to changes.

Lennart

Systemd 197 released

Posted Jan 8, 2013 21:02 UTC (Tue) by dave_malcolm (subscriber, #15013) [Link] (11 responses)

Minor bikesheddery: are underscores (or dashes) allowed within names?
en_x000000000466
en_p5_s0
en_s1
ww_x028037ec0200
seems to me to be easier for (this human) to parse than
enx000000000466 
enp5s0
ens1
wwx028037ec0200

Systemd 197 released

Posted Jan 8, 2013 21:26 UTC (Tue) by mezcalero (subscriber, #45103) [Link] (10 responses)

They are allowed, but interface names are limited to IFNAMSIZ characters, and that's defined to 16 on Linux (and can't realistically be changed), of which one must be the trailing 0. That means you have only 15 chars. A MAC address formatted in hex requires 12 characters. That means you only have 3 characters left for the prefix. An underscore is hence a luxury you can't afford. WE could use it for the other policies, but 15 chars for them is not plentiful either (think about USB device paths!), and uniformity is kinda nice too.

Systemd 197 released

Posted Jan 8, 2013 21:51 UTC (Tue) by jimparis (guest, #38647) [Link] (1 responses)

It's not really clear from the documentation -- what happens if the USB path doesn't fit in 15 characters?

Systemd 197 released

Posted Jan 8, 2013 22:52 UTC (Tue) by mezcalero (subscriber, #45103) [Link]

Then we won't use that name. The rule is basically: if the chosen policy makes sense for a device, all the necessary information for it is available for a device, and if the name would fit in IFNAMSIZ then we use it, otherwise we give up, and try another policy, or just stick to the kernel name.

Systemd 197 released

Posted Jan 9, 2013 2:30 UTC (Wed) by dave_malcolm (subscriber, #15013) [Link]

Aha! Given that constraint, it makes sense. Thanks.

Systemd 197 released

Posted Jan 9, 2013 5:34 UTC (Wed) by jthill (subscriber, #56558) [Link]

Does anyone value being able to sight-read the actual address values? Why not base64 them?

Systemd 197 released

Posted Jan 9, 2013 23:18 UTC (Wed) by mathstuf (subscriber, #69389) [Link] (5 responses)

> but interface names are limited to IFNAMSIZ characters

I suppose there's a 'DFINSIZ' limit for the length of variable names too. Either that or the 'E' key was broken that day…

Systemd 197 released

Posted Jan 9, 2013 23:53 UTC (Wed) by Cyberax (✭ supporter ✭, #52523) [Link] (4 responses)

Yeah, and they also were not careful - one vowel accidentally got in. Standards are slipping these days...

I always wondered how EIEIO did happen.

Systemd 197 released

Posted Jan 10, 2013 11:20 UTC (Thu) by mgedmin (subscriber, #34497) [Link]

IBM motto: "We found five vowels hiding in a corner, and we used
them _all_ for the 'eieio' instruction so that we wouldn't have to use
them anywhere else"
-- Linus Torvalds

Systemd 197 released

Posted Jan 11, 2013 20:30 UTC (Fri) by pcarrier (guest, #65446) [Link] (2 responses)

I always assumed it was a pun on the “Old MacDonald had a farm” lyrics.

http://en.wikipedia.org/wiki/Old_MacDonald_Had_a_Farm

Systemd 197 released

Posted Jan 11, 2013 20:49 UTC (Fri) by s_hoop (guest, #49503) [Link]

I have heard this before too. Seems likely to me based on this anecdata ;-)

Systemd 197 released

Posted Jan 12, 2013 10:19 UTC (Sat) by zwenna (guest, #64777) [Link]

Indeed, the error message corresponding to EIEIO is Computer bought the farm.

Systemd 197 released

Posted Jan 8, 2013 22:46 UTC (Tue) by DarrenJThompson (guest, #88685) [Link] (6 responses)

Is there a relatively easy way to provide a linking of these names to the more traditional names, for those sort of "dumb apps/scrips" that make an assumption about device names and are not easily adapted.
From what i read, the udev naming rules/mapping thing still works but it would be nice to have that confirmed.

Can the device be mapped into more than one namespace (e.g. eth0 and MAC and path-based) at the same time?

Systemd 197 released

Posted Jan 8, 2013 22:54 UTC (Tue) by mezcalero (subscriber, #45103) [Link] (5 responses)

No, network interfaces cannot have alias names. This is different from device nodes in /dev where we can add as many alias names via symlinks as we want while leaving the primary kernel name intact (and which is what udev does). For network interfaces we can only control one name and one name only. If people wrote their stuff with ethX names in mind, then they should just not use the new naming policy.

Systemd 197 released

Posted Jan 8, 2013 23:01 UTC (Tue) by ovitters (guest, #27950) [Link] (4 responses)

Could the kernel be changed to allow this, or is that too messy?

Systemd 197 released

Posted Jan 9, 2013 0:20 UTC (Wed) by Cyberax (✭ supporter ✭, #52523) [Link] (2 responses)

It's a long-standing issue in Linux (and UNIX). Network devices live in a completely separate namespace from the 'general' devices.

There's also a special API to interact with them which actually uses device _indexes_, not names. As far as I remember, there was not even a way to lookup index by name - one has to enumerate all the devices and get their names using SIOCGIFNAME (though I might be mistaken here).

It's a legacy mess, in short.

Systemd 197 released

Posted Jan 9, 2013 7:36 UTC (Wed) by dankamongmen (subscriber, #35141) [Link]

Nowadays one would use netlink, but yeah, same deal.

Systemd 197 released

Posted Jan 10, 2013 10:10 UTC (Thu) by justincormack (subscriber, #70439) [Link]

If_name to index(3) which is an ioctl will do it without enumeration. And net link can use names...

Systemd 197 released

Posted Jan 9, 2013 0:29 UTC (Wed) by mezcalero (subscriber, #45103) [Link]

People have considered that, but it's not that easy unfortunately.

Systemd 197 released

Posted Jan 9, 2013 2:03 UTC (Wed) by mgb (guest, #3226) [Link] (15 responses)

I've used dozens of operating systems since starting with George 3 and I really do think Linux is the best platform for most applications.

I strongly disapprove of Mr Poettering's ongoing attempts to morph the supremely flexible Linux world into some Microsoft-ish monolithic Lennux thing.

Systemd 197 released

Posted Jan 9, 2013 2:39 UTC (Wed) by dirtyepic (guest, #30178) [Link] (5 responses)

I'm guessing you skipped over the long list of names on the bottom of this announcement.

Systemd 197 released

Posted Jan 9, 2013 12:38 UTC (Wed) by Zack (guest, #37335) [Link] (4 responses)

Well, one of those names is Robert Millan's.

Assuming he's the same that is involved with Debian GNU/kFreeBSD, there might be a correction of Lennart's dismissal of all that's not to his liking, and systemd might, after all, become a universal init for GNU systems.

(Although, after a cursory search of the systemd-devel list I can't find any patches)

Systemd 197 released

Posted Jan 9, 2013 14:19 UTC (Wed) by HelloWorld (guest, #56129) [Link] (2 responses)

A port of systemd to FreeBSD won't happen, the amount of Linux-specific functionality that systemd uses makes that a daunting task. And even if somebody were to do the work, Poettering made it very clear that he wouldn't maintain the resulting ifdef mess.

The best thing for the kFreeBSD people to do would be to create their own non-portable init replacement and use all the FreeBSD goodies such as kqueue, jails, capsicum, devd and whatnot. This project should share the portable subset of systemd's interfaces and add its own extensions for kFreeBSD specific functionality. I can't think of another way to bring systemd's advantages to kFreeBSD while retaining an easily understandable and hackable code base. Yes, there'd be some duplication of functionality, but you can't have everything.

Besides, the main obstacle for wide-spread systemd adoption isn't lack of portability but Ubuntu. They are the only distro with a relevant user base that doesn't offer systemd at least as an option.

Systemd 197 released

Posted Jan 9, 2013 16:23 UTC (Wed) by rgmoore (✭ supporter ✭, #75) [Link] (1 responses)

I think it's more fair to say that a FreeBSD port won't happen soon. Once systemd has settled down, there's a better chance that necessary changes to enable it on systems other than Linux will happen. FreeBSD may adopt some Linux-like features that will make porting systemd practical (especially once they've proven their worth in Linux) and Lenaert Poettering will probably move on to a new project, so systemd may have a maintainer who's more willing to tolerate some ifdefs to bring in other Unix-like systems. Not going to happen soon, but never is a very long time.

Systemd 197 released

Posted Jan 10, 2013 10:34 UTC (Thu) by HelloWorld (guest, #56129) [Link]

This is not only about the willingness to tolerate ifdefs. I said earlier that porting systemd to kFreeBSD would be a daunting task, and that was probably an understatement. Poettering had this to say about the matter:
https://lwn.net/Articles/524920/
There are real technical issues going on here, to the point that "porting" systemd to kFreeBSD would mean to essentially rewrite it. At least that is the impression that Poettering's comment left me with, and he should know given that he wrote the thing.

Of course, things would be different if FreeBSD were to adopt the essential Linux APIs that systemd needs. But I don't think they will as most of the functionality is already there, just in different form. Linux has devtmpfs/udev, FreeBSD has devfs/devd. Linux has epoll/inotify/fanotify, FreeBSD has kqueue/kevent.
Nevertheless, it *might* happen, just like we *might* one day genetically engineer pigs to grow wings and fly. But it's coffee cup reading more than anything else.

Systemd 197 released

Posted Jan 9, 2013 15:49 UTC (Wed) by mbiebl (subscriber, #41876) [Link]

The list of contributors is (auto)generated by going through the git log.
Robert Millan is mentioned, because nss-myhostname was merged into systemd, including its git history, where Robert had provided a kfreebsd build fix [1]. That non-Linux support was dropped later on [2].

Hope that clarifies.

[1] http://cgit.freedesktop.org/systemd/systemd/commit/?id=1d...
[2] http://cgit.freedesktop.org/systemd/systemd/commit/?id=07...

Systemd 197 released

Posted Jan 9, 2013 5:10 UTC (Wed) by nteon (subscriber, #53899) [Link] (5 responses)

you're a decent troll, but I suggest being more subtle. In time you might be able to pass yourself off better.

Systemd 197 released

Posted Jan 9, 2013 6:00 UTC (Wed) by mgb (guest, #3226) [Link] (4 responses)

Do you have anything to say that's on point and not ad hominem?

Linux and the Gnu tools combine to create an extremely flexible platform that is optimal for almost all use cases.

Poettering seems determined to create a monolithic monstrosity more akin to Microsoft than Gnu and Linux.

Not only is this technically abhorrent in and of itself, but the process whereby he takes control of a key feature and then leverages it to force other unnecessary changes is morally abhorrent, and incidentally also in the Microsoft vein.

Systemd 197 released

Posted Jan 9, 2013 6:35 UTC (Wed) by Cyberax (✭ supporter ✭, #52523) [Link] (2 responses)

Very unsubtle trolling.

> Linux and the Gnu tools combine to create an extremely flexible platform that is optimal for almost all use cases.
Android and uClibc/Busybox systems are very monolithic non-GNU-ish systems. And they FAR outnumber 'traditional' desktop/server Linux (and other Unixes, for that matter).

Systemd 197 released

Posted Jan 9, 2013 11:01 UTC (Wed) by mgb (guest, #3226) [Link] (1 responses)

It's great that non-monolithic Gnu and Linux make it so easy to replace components.

Systemd 197 released

Posted Jan 9, 2013 12:43 UTC (Wed) by HelloWorld (guest, #56129) [Link]

> It's great that non-monolithic Gnu and Linux make it so easy to replace components.
It's great iff there is a substantial benefit to be gained by doing so. If there isn't, the ability to replace components only makes things more complex and harder to integrate and test. Poettering understands that, and most 'Unix philosophy' whiners either don't or have very strange ideas about what a substantial benefit is.

Systemd 197 released

Posted Jan 9, 2013 6:51 UTC (Wed) by HelloWorld (guest, #56129) [Link]

systemd is not monolithic. Many of its features run in processes other than PID 1 and most of its advanced functionality can be disabled with compile-time configuration options and/or at run-time.

And besides, I don't even care whether it's monolithic or unix-ish or whatever other labels you'll come up with. What I care about is that it is faster, more reliable and more powerful than any of its alternatives. And unlike you, Poettering posted long and detailed rationale for the systemd design in his blog, while you completely fail to give any technical arguments against it. That makes it a lot easier to agree with him than with you.

Systemd 197 released

Posted Jan 9, 2013 8:35 UTC (Wed) by tnoo (subscriber, #20427) [Link]

No idea what you are talking about. Personally, I perceive your "monolithic" as "unified". What this has to do with Microsoft escapes me, and in any case you are free to use any boot and logging system you like (several distributions support alternative boot systems).

For me, systemctl is much nicer to use than random init scripts, and journalctl much more convenient than the traditional Unix chaos of randomly formatted logfiles.

So I highly welcome Poetterings work on this, which is much more useful than your comment that Linux is morphed by him into Windows (whatever that means).

Systemd 197 released

Posted Jan 9, 2013 9:41 UTC (Wed) by tao (subscriber, #17563) [Link] (1 responses)

So, let me get this straight: systemd adds functionality that is impossible to achieve using sysvinit, still supports using old style init-files *and* is in no way mandatory to use anyway (if you still want to use sysvinit, who's stopping you?!). And that somehow is a threat to the supreme flexibility of Linux? Uhmmmm....

Systemd 197 released

Posted Jan 9, 2013 9:49 UTC (Wed) by Cyberax (✭ supporter ✭, #52523) [Link]

Well, systemd might be too good so everybody would switch to it. And that's definitely non-Unixy! There must be 100500 different incompatible forks and variations of _everything_!

Systemd 197 released

Posted Jan 9, 2013 9:23 UTC (Wed) by nhippi (subscriber, #34640) [Link] (6 responses)

> However, support for some distribution specific
> legacy configuration file formats has been dropped. We
> recommend distributions to simply adopt the configuration
> files everybody else uses now

This seems a bit vague - What specific configuration file formats have been dropped?

Systemd 197 released

Posted Jan 9, 2013 10:18 UTC (Wed) by zdzichu (subscriber, #17118) [Link] (5 responses)

Systemd 197 released

Posted Jan 9, 2013 13:17 UTC (Wed) by sorpigal (guest, #36106) [Link] (4 responses)

So, based on that, it seems to me that the changes are:

Hostname will be read from /etc/hostname instead of

/etc/sysconfig/network (Mandriva/Mageia, ALT)
/etc/HOSTNAME (Slackware)
/etc/conf.d/hostname (Gentoo)

Locale information will be read from /etc/locale.conf instead of

/etc/sysconfig/i18n (Mandriva/Mageia, ALT)
/etc/sysconfig/language (SuSE)
/etc/default/locale (Debian, Angstrom)
/etc/profile.env (Gentoo)
/proc/cmdline (Fedora: locale.LANG now required, won't read just LANG)

Time zone information will be read from /etc/localtime instead of

/etc/timezone (Debian)

Strangely it still reads /etc/timezone on Debian, but does not write it (?)

Console/keyboard config will be read from /etc/vconsole.conf instead of

/etc/sysconfig/keyboard (SuSE, ALT, Mandriva/Mageia)
/etc/sysconfig/console (SuSE)
/etc/sysconfig/consolefont (ALT, Gentoo)
/etc/rc.conf (Gentoo)
/etc/conf.d/keymaps (Gentoo)
/etc/sysconfig/i18n (Mandriva/Mageia)
/etc/sysconfig/console/default.kmap (Mandriva/Mageia)

I think that's everything, and it's a bit of a mess as-is since some of these files are in slightly different formats even if the path is the same.

Systemd 197 released

Posted Jan 9, 2013 15:36 UTC (Wed) by Zack (guest, #37335) [Link]

"Ah, no, it's very distribution-agnostic. It's just, you know, that some of these _other_ distributions are simply not agnostic enough to run the software on."

On the upside though, once package management gets integrated, we'll finally have an answer as to whether 'deb or rpm' constitutes the "one true way".

Systemd 197 released

Posted Jan 9, 2013 17:31 UTC (Wed) by james (subscriber, #1325) [Link] (1 responses)

One thing you missed is this:
If downstream distributions want to maintain compatibility with their old configuration files, they are welcome to do so, but need to maintain this as patches downstream. The burden needs to be on the distributions to maintain differences here. Our suggestion however is to just convert the old configuration files on upgrade, as multiple distributions already do.

Systemd 197 released

Posted Jan 9, 2013 17:41 UTC (Wed) by sorpigal (guest, #36106) [Link]

I wouldn't call that "missed" since it's essentially in the summary anyway:

We recommend distributions to simply adopt the configuration files everybody else uses now and convert the old configuration from packaging scripts. Most distributions already did that. If that's not possible or desirable, distributions are welcome to forward port the specific pieces of code locally from the git history.
I was listing specifics that weren't in the summary.

Systemd 197 released

Posted Jan 10, 2013 8:06 UTC (Thu) by nhippi (subscriber, #34640) [Link]

Thanks, seems logical.


Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds