This kernel is simply huge: there is so many new and improved features with this particular release that it's mind-boggling. I'm having difficulty remembering such a time a kernel release was so large.
The quick summary of Linux 5.6 changes include: WireGuard, USB4, open-source NVIDIA RTX 2000 series support, AMD Pollock enablement, lots of new hardware support, a lot of file-system / storage work, multi-path TCP bits are finally going mainline, Year 2038 work beginning to wrap-up for 32-bit systems, the new AMD TEE driver for tapping the Secure Processor, the first signs of AMD Zen 3, better AMD Zen/Zen2 thermal and power reporting under Linux, at long last having an in-kernel SATA drive temperature for HWMON, and a lot of other kernel infrastructure improvements.
(Score: 4, Insightful) by Anonymous Coward on Monday February 10 2020, @07:28PM (53 children)
You're saying this like it's a GOOD thing.
HINT: It's NOT
(Score: 0) by Anonymous Coward on Monday February 10 2020, @07:40PM (8 children)
Of course it's huge! now with systemd! No module needed! Shhh... Like Boeing's MCAS, it's a secret. There's no need for anybody to know about it.
(Score: 3, Touché) by DannyB on Monday February 10 2020, @09:13PM (7 children)
You have it backward.
systemd will include the kernel. Not the kernel including systemd.
systemd will include the boot loader.
The lower I set my standards the more accomplishments I have.
(Score: 2, Funny) by Anonymous Coward on Tuesday February 11 2020, @01:27AM (6 children)
Well I expect systemd to include the entire OS and at least three window managers, and I expect it to fly me to Vegas on the weekends.
(Score: 1, Funny) by Anonymous Coward on Tuesday February 11 2020, @06:14AM (1 child)
OK well fly, maybe. Would you accept crash nearby?
(Score: 2) by All Your Lawn Are Belong To Us on Tuesday February 11 2020, @07:24PM
No! This is the year of the Airtop!
This sig for rent.
(Score: 2) by DeVilla on Wednesday February 12 2020, @02:55AM (2 children)
Systemd is entirely too opinionated to allow that much choice. Systemd will provide one solution that will do everything you think you need a window manager for and nothing you don't. If you think you need something systemd doesn't provide, your requirements are wrong and you are trying to do something the wrong way. If it provides something you think you don't need, you don't understand the problem you currently have that systemd fixes if you use it the right way.
(Score: 0) by Anonymous Coward on Wednesday February 12 2020, @03:11AM (1 child)
If you think you need something systemd doesn't provide, your requirements are wrong and you are trying to do something the wrong way.
Ok, will it least get me to Reno? Will it keep me from getting drunk and marrying some transvestite in an Elvis Chapel?
(Score: 2) by DeVilla on Sunday February 16 2020, @12:30AM
Absolutely not. You should go to Atlantic City.
Yes. It will be a Star Trek themed Chapel.
(Score: 2) by driverless on Saturday February 15 2020, @06:27PM
Just don't expect it to buy you dinner afterwards.
(Score: 3, Funny) by EJ on Monday February 10 2020, @08:10PM (10 children)
Bigger is ALWAYS better. The kernel should include a web browser, text editor, paint program, etc. Why should you have to get some 3rd party utility to do something any self-respecting OS should already have integrated?
Memory is cheap. Everyone should have at LEAST a spare 128GB to hold the kernel.
(Score: 2) by DannyB on Monday February 10 2020, @08:25PM (4 children)
Hey! Save some of that memory for Java!
Modern Java is able to take advantage of more memory than ever before. Often this is done on Linux. Imagine a highly optimizing (for speed) compiler that can turn 1 K of native code into many times that much native code. Aggressive inlining. Loop unrolling. NO function call overhead for long stretches of native code. Calls to many functions vanish, or rather are replaced by the code they would call. Dynamically based on the runtime characteristics of your actual hardware at this moment. Something a C compiler can't do ahead of time because it doesn't have the whole picture. When the compiler runs, a function that should get inlined might not even be written yet -- other than as an entry in a .h file.
The lower I set my standards the more accomplishments I have.
(Score: 2) by pipedwho on Monday February 10 2020, @08:45PM (3 children)
And it still manages to run much slower than 'non-optimised' native code.
(Score: 5, Insightful) by DannyB on Tuesday February 11 2020, @12:30AM (2 children)
Native code vs native code? Did you read what I wrote? Did you understand the JIT compiler having the whole runtime picture?
In any case, it obviously is fast enough that Twitter rewrote [soylentnews.org] their stack in 2012 to Java, specifically for performance. What idiots they must be.
Java won't win every speed contest. It does win some. But it's not so slow as you think. (Greenspun's tenth rule [wikipedia.org]) For some reason it's been #1 in most of the last fifteen years [youtube.com], but never going below 2nd place.
There is a simple reason for Java's success. Since the beginning of computers in business, and mostly also in science, money has been the dominant concern. Once upon a time optimizing for dollars also meant optimizing obsessively for every last cpu cycle and byte. No more. Today we optimize for dollars, which means optimizing for developer time. The dominant cost today is developer time. For the price of a developer with benefits for only one year, say $100-$250K, you can buy a pretty sweet server box. Point being that hardware is cheap compared to developer time. That hardware will last more years than that cost of one developer for one year.
We're still optimizing for dollars, just not for bytes and cpu cycles any more. I know this may come as unwelcome news. I get a rush of dopamine every time I save cpu cycles or bytes. But I'm not obsessed with it. I know my true optimization is ultimately for dollars, which is developer time.
I don't cite the source here: a language is too low level when it forces you to focus on the irrelevant.
The irrelevant is anything that isn't relevant to the problem you're trying to solve.
This is the reality we live in. Hate it as you may, Java is number one. Please consider that there is probably a reason for that. Companies like Red Hat, IBM, Amazon, Microsoft are investing lots of money into research into JVM, its GC, and other VM optimizations. Why is that do you suppose? Not out of the goodness of their hearts. They think there is money to be made by investing major resources into Java.
Again, I'm sorry if this is unhappy news to you; But it is the REALITY of the world we live in. Not some fantasy world where bytes and cpu cycles are the dominant concern. Ah, to be a programmer back in the 1970's once again. But I can't go back.
The lower I set my standards the more accomplishments I have.
(Score: 0) by Anonymous Coward on Tuesday February 11 2020, @06:21AM (1 child)
You optimize for dollars... I mean developer time, until some developer optimizes in a better and faster way. Then you optimize for developers. It's so confusing for managers.
(Score: 2) by DannyB on Wednesday February 12 2020, @08:27PM
Based on Java usage, managers don't appear to be confused about optimizing for
greeddollars.Never have been.
It's just that once long ago that also meant optimizing for bytes and cycles.
The lower I set my standards the more accomplishments I have.
(Score: 1, Funny) by Anonymous Coward on Monday February 10 2020, @09:00PM (3 children)
You speak then perhaps of Emacs? For that includes all of the above, and more.
Emacs 2020 will include a Linux Kernel. :) ...just to "be safe" and be "feature complete."
(Score: 1) by DECbot on Monday February 10 2020, @10:13PM
That kernel is just for VMs and containers. The native kernel with kexec functionality isn't scheduled until 2022.
cats~$ sudo chown -R us /home/base
(Score: 4, Funny) by DannyB on Tuesday February 11 2020, @12:32AM (1 child)
Here is what happened with Emacs users.
The first time they get into emacs, they don't know how to exit. So they eventually build all other OS functionality into emacs lisp, being unable to escape.
The lower I set my standards the more accomplishments I have.
(Score: 3, Funny) by Runaway1956 on Tuesday February 11 2020, @01:29AM
Huh? Wait a second. Is there an exit? I didn't even know that. When I found myself in Emacs Land, I just nuked from orbit, and repaved.
(Score: 2) by DannyB on Wednesday February 12 2020, @08:34PM
Here is a convenient memory sizing tool [yourdatafitsinram.net] to help identify which hardware might be big enough to hold your Java hello world program.
References:
Java Hello World -- Enterprise Edition [github.com]
Java Fizzbuzz -- Enterprise Edition [github.com]
The lower I set my standards the more accomplishments I have.
(Score: 5, Insightful) by DannyB on Monday February 10 2020, @08:12PM (16 children)
Isn't the kernel modular?
Now the last time I read about this, and compiling kernels, was in about 1997 as I was studying Linux. In June 1999 I finally got my first Linux box and never looked back.
As I understood things at that time, kernel modules could be omitted, compiled into the kernel, or compiled as loadable modules.
1. Omitted -- probably because they are irrelevant. Hardware modules for hardware you don't have. Etc.
2. Compiled in to kernel -- because you want them at boot time even before the ramdisk is available.
3. loadable modules -- because you might want them, and can make them packages so that you could possibly omit installing them, but with a package manager could load them if software needing those modules depends on them. Contrived examples: VPN, certain hardware support, WiFi, certain filesystems, etc.
If you're needing a kernel for a small system like a Raspberry Pi, isn't it possible to build a modular kernel, and leave most of the modules off of the distribution image? Letting those modules be "installed", then at runtime "loaded" as needed?
Or am I misunderstanding something?
The lower I set my standards the more accomplishments I have.
(Score: 0) by Anonymous Coward on Monday February 10 2020, @09:41PM (12 children)
Sure. Much like Windows you install drivers for devices you attach vs. pre-installed drivers.
Its really a balancing game, pre-installed so stuff just works right out of the box for various scenarios vs. the basic stuff mostly works, for all others the users have to go "configure" (in the case of linux) or install drivers (in the case of windows).
For majority of folks, the non-geeks, I'd assume the former is preferable. For the geeks, obviously the former is an affront to architecture purity due to the "bloat" and the rest of the world should follow their shining light.
(Score: 2) by DannyB on Monday February 10 2020, @11:00PM (11 children)
It would seem to me that having all of the kernel modules available on disk has no significant penalty. It merely costs disk space. Nothing more. If you plug in a new hardware item, you already have a driver immediately ready to use. That's convenience. Or alternately, go through a Windows-like experience of "searching for driver . . ."
The lower I set my standards the more accomplishments I have.
(Score: 4, Insightful) by Runaway1956 on Tuesday February 11 2020, @01:37AM (5 children)
That "searching for driver" experience is vastly different on Linx, vs Windows. Mostly, the drivers are found via the package manager, whether it be RPM or APT or whatever. On Windows, if you don't have an installation disk, then you go to Google. Google doesn't mark the results with tags like "reputable source" or anything. Unless you know what you are doing, you can easily download a boatload of malware, and install it, instead of the driver you were searching for. Alternatively, you can find an outdated driver, which may or may not work for your particular hardware.
Both worlds have their problems, but I think Linux problems are a lot easier to solve reliably than Windows.
(Score: 0) by Anonymous Coward on Tuesday February 11 2020, @06:28AM (4 children)
I wish they would just compile statically. Give up on the dream of upgrading each package separately. Huge, static globs of binary for each program you use that I can run off a USB. That is actually my idea of perfection in software - it never breaks after upgrade. You can run off a USB stick. It never breaks(*).
(*) Shut up.
(Score: 2) by DannyB on Tuesday February 11 2020, @02:40PM (3 children)
Maybe another alternative . . .
Maybe it is time that Kernel developers consider the possibility of . . . OMG . . . having a standard kernel driver API. Not for all possible kernel modules, but for device drivers. It seems device drivers are the vast majority of kernel source code, or so I am under the impression. If necessary later, introduce a 2nd improved kernel driver API. Surely enough is understood about what kernel access a device driver needs after about 30 years?
Another idea, multiple standard interfaces for different kinds of drivers. Eg, filesystems. Direct memory access drivers. Video devices. Etc. A single driver could implement one or more of these interfaces.
The lower I set my standards the more accomplishments I have.
(Score: 0) by Anonymous Coward on Wednesday February 12 2020, @02:52AM (2 children)
from the executive summary of https://www.kernel.org/doc/html/v4.14/process/stable-api-nonsense.html [kernel.org]
(Score: 0) by Anonymous Coward on Wednesday February 12 2020, @02:56AM
Should have linked this version https://www.kernel.org/doc/html/latest/process/stable-api-nonsense.html [kernel.org] or https://www.kernel.org/doc/html/v5.6-rc1/process/stable-api-nonsense.html [kernel.org]
(Score: 2) by DannyB on Wednesday February 12 2020, @08:44PM
I can't, or don't, or shouldn't have a strong opinion on this. I don't write kernel modules. So I'll defer to those who do. Thanks for the info.
The lower I set my standards the more accomplishments I have.
(Score: 2, Informative) by The Mighty Buzzard on Tuesday February 11 2020, @04:20AM (3 children)
Having the necessary functionality for a specific module to even hook into does cause very significant overhead. Having a specific SATA driver, for instance, built as a module is not the same as not even having SATA support in the kernel. If you know you're never going to need any hardware but what you currently have, you can shrink the complete fuck out of the kernel.
My rights don't end where your fear begins.
(Score: 2) by DannyB on Tuesday February 11 2020, @02:45PM
That is another useful thing about the kernel, its adaptability for small devices with fixed hardware. Wristwatches. Cameras. RoKu, TiVo. Thermostats. And who knows what else.
The lower I set my standards the more accomplishments I have.
(Score: 2) by DannyB on Tuesday February 11 2020, @10:36PM (1 child)
That makes sense. Having support for the module in the kernel is a non-zero cost, in addition to disk cost of the module.
The lower I set my standards the more accomplishments I have.
(Score: 0) by Anonymous Coward on Wednesday February 12 2020, @02:45AM
Not to mention that some modules and CONFIGs are mutually exclusive.
(Score: 2) by RS3 on Tuesday February 11 2020, @06:42PM
In fact it's probably net zero. It's about the same size as a module or compiled into the kernel.
You could argue that the kernel usually resides in a separate partition than /lib, but either way, kernel modules are pretty small.
(Score: 2) by digitalaudiorock on Monday February 10 2020, @10:23PM (1 child)
Absolutely. This machine (very old hardware) is running Gentoo and a 4.19.97 kernel, with everything I need, and pretty much nothing more, compiled directly into the kernel with the exception of a few modules:
The only thing that's huge is the (mostly unused) source:
(Score: 2) by The Mighty Buzzard on Tuesday February 11 2020, @04:22AM
I used to do that too. Until about the three bazillionth time I had to rebuild the kernel because I wanted to plug something in that I hadn't built the driver in for. It's just not worth doing on a desktop/laptop.
My rights don't end where your fear begins.
(Score: 2) by hendrikboom on Tuesday February 11 2020, @12:58AM
What you need is enough drivers compiled in to be able to access the hardware and file systems containing the modules.
(Score: 5, Insightful) by Snotnose on Monday February 10 2020, @08:18PM (12 children)
Nope, the source is huge. I suspect the average person will use only a small subset of the features. My laptop doesn't support USB4, so that won't be compiled in. I don't have an AMD so none of that will be compiled in, etc etc etc.
Then again, I haven't configured/compiled a kernel since '04 or so.
CSB. In '02 I was flying to a trade show with a new laptop. Thought I'd use the dead air (ha!) to configure my kernel. Some guy behind me took an interest, asked me what I was doing. Told him I was configuring my kernel, he said "wow, that's hard core!". To me it had been an everyday part of my job for 10 years.
Got the kernel compiling, went to watch a DVD, and the battery promptly died about an hour in. Crap.
When the dust settled America realized it was saved by a porn star.
(Score: 2, Insightful) by Anonymous Coward on Monday February 10 2020, @08:24PM (5 children)
Who in their right mind compiles a Linux kernel and watches a DVD on a laptop that's on battery?
(Score: 2) by DannyB on Monday February 10 2020, @08:30PM (1 child)
I don't recall anyone claiming to be in their right mind. So you are making unwarranted assumptions. People who compile kernels in flight might not be like other people who don't. If compiling kernels was part of their job, maybe they even hack on that kernel? Who knows. I would probably be impressed too.
The lower I set my standards the more accomplishments I have.
(Score: -1, Flamebait) by Anonymous Coward on Monday February 10 2020, @09:58PM
Maybe if they were a diversity hire. In 04, watching a DVD would have also used a lot of juice. newb error.
(Score: 3, Funny) by Snotnose on Tuesday February 11 2020, @12:42AM
A guy on an airplane who's never owned a laptop before, for one....
When the dust settled America realized it was saved by a porn star.
(Score: 0) by Anonymous Coward on Tuesday February 11 2020, @09:13AM (1 child)
The alt-right.
(Score: 2) by DannyB on Tuesday February 11 2020, @02:41PM
Even on Linux, it's ctrl-alt-delete.
The lower I set my standards the more accomplishments I have.
(Score: 2, Interesting) by Anonymous Coward on Monday February 10 2020, @08:29PM (5 children)
You need to try configuring (not even necessarily building the end result) just to see how big of a clusterfuck the configuration menus have become. Lots of shit that is x86 or embedded processor only leaks into the configuration menus for unrelated systems. Various features that should be possible to disable for your specific platform can't be (permanent enabled checkbox). The amount of new configurable but not really configurable hardware Kconfigs in each new minor release of the kernel has become insane. And since the distro maintainers only ever use it was a make all modules config, none of the KConfig shit gets properly tested for non-all module usecases.
ARM is a secondclass citizen, and every other arch is 3rd or worse class.
(Score: 2) by DannyB on Monday February 10 2020, @08:32PM (1 child)
That sounds like the menuconfig system is not maintained with the modules it configures? Or at least its dependency graph is not maintained. Too bad.
Complexity might really be the measure of "kernel is too big" rather than how much disk or memory size it uses.
The lower I set my standards the more accomplishments I have.
(Score: 0) by Anonymous Coward on Monday February 10 2020, @10:08PM
Spot on. Complexity defines how well the idea is actualized. The other two are only measures of the medium.
(Score: 2) by Azuma Hazuki on Tuesday February 11 2020, @04:30AM (2 children)
You're not kidding. I used Gentoo back when starting Linux in 2004, but for a long time (2009-late 2019) have just been too hardware-constrained for it. I remember running it on an Inspiron 500m (Pentium-M "Banias" 1.3 GHz single core, 512 MB RAM) and having very little trouble finding everything necessary to run.
Flash forward to about 3 months ago when I got an amazing deal on a Thinkpad E495 (8GB memory, 256GB NVMe SSD, Ryzen 7 3700U 4C/8T). Granted, I now run LVM-on-LUKS, which is a more complex setup and required an initramfs, but for the life of me I cannot start from a clean "make allnoconfig" file and find everything I need. It compiles fine but sits there forever at "loading initial ramdisk...". Thankfully, booting an Arch liveUSB and running "make localmodconfig" gets a (mostly) working base which I can trim down and modify. But I still have no idea what I did wrong with the from-scratch attempt :/
As you said, entire categories of stuff just...fail to appear completely unless obscure other options are chosen. No warning is given about this.
I am "that girl" your mother warned you about...
(Score: 2) by The Mighty Buzzard on Tuesday February 11 2020, @03:17PM
It's still pretty easy if you're building for a headless VM or the like. Once you start doing it for actual hardware, especially on a desktop that you never know WTF you're going to want to attach to it a month from now, it gets a wee bit more difficult. Such are the perils of hardware advancement and variety.
My rights don't end where your fear begins.
(Score: 0) by Anonymous Coward on Wednesday February 12 2020, @03:13AM
Probably passing "quiet" as a kernel parameter or turned down the configured log level, you selected the wrong CPU architecture, you mismatched the microcode, you didn't generate the ramdisk properly by configuring mkinitrd and running it, or a mismatch in compression algorithms for the initrd. In my experience, those are the five most common reasons that pops up. Well, other than not having enough memory/disk space, which seems unlikely here.
(Score: 2, Troll) by darkfeline on Monday February 10 2020, @08:51PM (2 children)
How's your microkernel coming along, Tanenbaum? Are you going to release it before Hurd?
Join the SDF Public Access UNIX System today!
(Score: 2) by DannyB on Monday February 10 2020, @09:17PM
Or Google's Fuchsia?
The lower I set my standards the more accomplishments I have.
(Score: 5, Insightful) by RamiK on Monday February 10 2020, @09:44PM
Tanenbaum's microkernel is probably deployed on more machines than Linux or at least Windows:
( https://en.wikipedia.org/wiki/MINIX [wikipedia.org] )
compiling...
(Score: 2) by ikanreed on Monday February 10 2020, @09:10PM (2 children)
That one caught my eye, because they JUST published the standard a couple months ago.
I feel like USB destroying HDMI is too much to hope for, but maybe USB can destroy HDMI?
(Score: 2) by takyon on Monday February 10 2020, @09:15PM (1 child)
https://en.wikipedia.org/wiki/HDMI#HDMI_Alternate_Mode_for_USB_Type-C [wikipedia.org]
Depends on what you mean by destroy.
[SIG] 10/28/2017: Soylent Upgrade v14 [soylentnews.org]
(Score: 2) by ikanreed on Monday February 10 2020, @09:24PM
Part of the USB 4 standard is that it can act as a display channel. HDMI sucks and I want it to go away.
(Score: 0) by Anonymous Coward on Monday February 10 2020, @09:32PM (4 children)
I just want good out of box GPU support..
(Score: 2, Informative) by takyon on Monday February 10 2020, @09:59PM (3 children)
[SIG] 10/28/2017: Soylent Upgrade v14 [soylentnews.org]
(Score: 0) by Anonymous Coward on Monday February 10 2020, @10:37PM (2 children)
And this means what for a rock-chip? Mali GPU on board, not Nvidia.
(Score: 2) by takyon on Monday February 10 2020, @11:00PM (1 child)
Oh, I thought you were complaining about rockchip.
https://forum.libreelec.tv/thread/14255-information-regarding-linux-on-rockchip-soc-s/ [libreelec.tv]
https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.6-Media-Drivers [phoronix.com]
https://www.phoronix.com/scan.php?page=news_item&px=ROCK-Pi-4-Panfrost-Wayland [phoronix.com]
More RK3399 devices are coming, so there should be more interest:
https://www.cnx-software.com/2020/02/04/hardrock64-sbc-rockchip-rk3399-processor-launch-in-april/ [cnx-software.com]
[SIG] 10/28/2017: Soylent Upgrade v14 [soylentnews.org]
(Score: 0) by Anonymous Coward on Monday February 10 2020, @11:57PM
No, not complaining at all, just that non-OEM GPU drivers for these are a pain, having full support would be a great thing. ( i know its coming, and ill check out those links too.. )
(Score: 3, Informative) by takyon on Monday February 10 2020, @09:59PM (3 children)
https://www.phoronix.com/scan.php?page=news_item&px=Six-Features-Not-In-Linux-5.6 [phoronix.com]
Where is my ReiserFS?
[SIG] 10/28/2017: Soylent Upgrade v14 [soylentnews.org]
(Score: 5, Funny) by Booga1 on Monday February 10 2020, @11:23PM (1 child)
I thought that got killed off.
(Score: 4, Funny) by takyon on Monday February 10 2020, @11:33PM
Reiser5 File-System In Development - Adds Local Volumes With Parallel Scaling Out [phoronix.com]
It rose from the shallow grave.
[SIG] 10/28/2017: Soylent Upgrade v14 [soylentnews.org]
(Score: 2) by Gaaark on Monday February 10 2020, @11:55PM
I think it's still in Hans' Volkswagen. Or maybe in the passenger seat they couldn't find?
Ask his wife, maybe?
Yeah: feeling warped tonight.
--- Please remind me if I haven't been civil to you: I'm channeling MDC. ---Gaaark 2.0 ---
(Score: 4, Insightful) by fyngyrz on Monday February 10 2020, @11:30PM (17 children)
As far as I'm concerned, I'll be (very) interested in developing for Linux when it gets a decent desktop built in that you can develop to as a target without having to give away your source code or buy some ridiculously expensive afterthought package (like qt) to do commercial work. You know... menus, buttons, sliders, windows, etc. The things that Windows and OS X have had forever and to which access costs and obligates... nothing.
I'm not arguing that there can only be one windowing interface; I'm just arguing that without a standard target to develop for that isn't compromised by the GPL and/or a commercial wrapper, small developers like myself face financial barriers that make no sense at all to try to overcome.
In the meantime, both Windows and OS X bring in actual revenue, because you can develop for them without starting out 100 miles before the starting line.
A complete OS has an uncompromised full desktop API. Linux is still stuck in the past.
--
Bread is like the sun. It rises in
the yeast, and sets in the waist.
(Score: 2) by Gaaark on Tuesday February 11 2020, @12:00AM (2 children)
"A complete OS has an uncompromised full desktop API. Linux is still stuck in the past."
A real OS isn't compromised easily. Windows is still a crypto-hackers dream TODAY.
--- Please remind me if I haven't been civil to you: I'm channeling MDC. ---Gaaark 2.0 ---
(Score: 0) by Anonymous Coward on Tuesday February 11 2020, @01:24AM (1 child)
A real OS isn't compromised easily. Windows is still a crypto-hackers dream TODAY.
You do realize what all of those compromised IoT devices are written to right?
(Score: 3, Insightful) by Gaaark on Tuesday February 11 2020, @03:58AM
You do realize that the most secure OS in the hands of an idiot is less secure, right?
But Windows is a security nightmare OOTB.
--- Please remind me if I haven't been civil to you: I'm channeling MDC. ---Gaaark 2.0 ---
(Score: 5, Informative) by sjames on Tuesday February 11 2020, @12:43AM (2 children)
With the exception of a few non-essential parts, Qt is LGPL. That means you can link your commercial product against it at will. If you don't like Qt, GTK is also LGPL.
Now ask MS and Apple what it'll cost you for an equivalent license that will also let you look under the hood.
(Score: -1, Troll) by Anonymous Coward on Tuesday February 11 2020, @04:58AM
And if GP is such a Windows fanboy, libwine is also LGPL.
(Score: 2) by fyngyrz on Tuesday February 11 2020, @06:01PM
Thanks; +Informative.
(Score: 4, Informative) by Pino P on Tuesday February 11 2020, @04:27AM (10 children)
Motif, LessTif, GTK, FLTK, Qt, XForms, and Winelib are distributed under the GNU Lesser General Public License (LGPL). This license doesn't require the publisher of an application to disclose any source code other than that of the library. I'm aware of other reasons that some publishers may not be able to accept the LGPL, especially version 3 with its anti-anti-circumvention provision and its Installation Information provision for software that runs on consumer products. In that case, there are still a few permissively licensed X11 toolkits:
(Score: 2) by pvanhoof on Tuesday February 11 2020, @06:14PM (1 child)
Qt's Wayland compositor [doc.qt.io] is GPL, or LGPL 3 not LGPL 2. If you want a commercial license then you can find information about that . [doc.qt.io]
For a lot of modern (embedded) UI development in QML you need Qt's Wayland compositor.
(Score: 2) by Pino P on Wednesday February 12 2020, @12:30AM
Unless you're trying to lock down your device the same way a TiVo DVR or a video game console is locked down, using an LGPLv3 library in an otherwise proprietary application is fine. That's what LGPL is made for: mixing copylefted and proprietary software in one process.
(Score: 2) by fyngyrz on Tuesday February 11 2020, @06:32PM (7 children)
Thank you. I was unaware of the LGPL license for Qt's c++ stack, I only learned about it here from one of the other replies; that's very useful to know. I'm deeply familiar with the coding side of Qt.
Tk: I've used Tk in the past, and felt that it wasn't ready for prime-time then. Presumably it's better now. The others I am not familiar with at all.
The underlying problem here is the lack of an in-place standard, something included in the OS itself, ready to use, looks the same to everyone out of the box, no license issues, no lawyers required, no impositions on the developer, etc.
Qt seems like the best option right now because it is decently cross-platform (OS X, Windows and Linux), so (C++) apps can be built for any combination of the markets. C++ is my language of choice for serious work.
--
Note: I may be without a clue because it's morning,
Monday, or really any day after the year 2000
(Score: 2) by edIII on Tuesday February 11 2020, @08:13PM (6 children)
You bring up some good points, but unfortunately, you're also stuck in the past. If you want your code running on my machine, for whatever reason, you ARE going to disclose it. That paradigm only grows stronger everyday because we suffer the massive costs of poor security, security through obscurity, .etc.
We're going to move towards some form of secure computing, or we're going to accept the massive inefficiency, cities under ransom or their processes fail, corporate as well as malicious data exfiltration, and wide scale consumer abuse using said exfiltrated data. Not to mention stolen elections and the destruction of democracies, which have already been accomplished.
I'm very interested in your code and contributions, and how to incentivize you through compensation, but NEVER at the expense of security. Security can ONLY be obtained from the "ground up", and security is instantly vaporized and relegated to permanent doubt when there is obfuscated code at any level.
No blobs, no binaries, no proprietary code. That's the future, it's inevitable, and it's the only method that is suited to survive. This idea of controlling information and code is something humanity just needs to get the fuck over. You want to keep your secrets, but still want me to use your code? That's mutually exclusive with the goals of security, and every reasonable person knows this is not in our best interests. It's just something we didn't have a choice in for so long.
Seriously, the only way I would ever let your obfuscated code into my system is if you were licensed, BONDED, and HEAVILY INSURED. The moment malware hits me and it was something in your code, I want to be able to file a claim against your insurance policy and be made whole again. I want legal guarantees and money held up in bonds with well established legal procedures in the favor of the consumer, not you. Remember, consumer laws are just getting started, and the FINES are just getting started too. I have to be able to demonstrate I did everything I could, but it's hard to say that with a straight face if I let in obfuscated and non-security-reviewed code into my infrastructure. I'm going to pass damages onto my vendors that are responsible, and I want the backing of law to do it.
Just what contractual language would you use with me today? Would any of it absolve you of damages that I incur using your code? You really think, given the alternatives today, that I would choose your insecure (all proprietary code must be considered so) code that expose me and my customer base to risk, while legally absolving you of responsibility? That's fucking crazy man. Figure out how to make money on your code without trying to keep any control over it, or secrets. You may be Mother Teresa, but that doesn't mean we can allow anything but full and utter transparency with your contributions. Otherwise, your code will be crazy expensive after factoring in bonds, licenses, and insurance so that we both can survive with malware uses a bug in your code to fuck us.
Technically, lunchtime is at any moment. It's just a wave function.
(Score: 2) by Pino P on Wednesday February 12 2020, @12:43AM (1 child)
Say a software publisher offers a non-free application for license and discloses source code of its application under non-disclosure agreement to all paying licensees. I'm interested in how you suggest to deter licensees from violating their license by redistributing the source code to third parties. On the other hand:
Did you further intend to require license terms that allow free redistribution? If so, I'm interested in how you suggest to feed and house professional developers of a video game, a streaming player for rented motion pictures, or an income tax return preparation tool.
On that note: Have you tried the GNU LibreJS extension [gnu.org] for the IceCat and Firefox web browsers? Its functionality aligns somewhat with your views.
(Score: 2) by edIII on Thursday February 13 2020, @09:53PM
I don't suggest any forms of determent beyond the legal ones, and all of those are in court using FULL due process. The DMCA needs to be destroyed, and in fact, I would make a Constitutional Amendment to the United States making it a full right that we get to inspect all source code in our homes and property, and that all forms of determent are 100% illegal. Meaning, that it's not legal to be running code in somebody else's property that infringes upon their privacy or their rights of peaceful enjoyment of property.
The NDA is a perfectly acceptable way to keep code private, while at the same time allowing inspection of the code to verify security issues. However, I don't believe that would stand a chance in a FOSS market because of the number of eyes on the code. A corporation of 500 software engineers is still less than an entire world of software engineers.
So this would highly depend on the code. I would never, ever, purchase any security code such as encryption under these circumstances. It's just as bad as homegrown crypto. Anything related to security must contain code developed from open reference implementations of open and free security code.
I don't think it's required that I allow free redistribution at all. I'm not entirely sure how to house and feed developers. As I said, I'm very interested in doing so, and not just for developers of video games.
You're missing the primary, and most fundamental point here. It has nothing to do with licensing, or compensating developers, but everything to do with security. Whether you like it or not, security is impossible to create in the shadows. Period. Full Stop.
The future is 100% open code, or no code. It can't be hidden anymore. Anything hidden, is something that cannot be vetted. It cannot be peer reviewed. It cannot be tested beyond tests for proper function, which doesn't allow for an analysis of bugs or implementation issues in encryption algorithms. Proprietary code is a logical fail at this point, and you cannot claim levels of security and be taken seriously. If you're a sysadmin or developer worth your salt, you know this is actually true. How many severe issues have arisen in the blobs and binaries in our hardware?
Heck, guess what the CIA front was offering all those nation states? Proprietary code that couldn't be reviewed.
I'm very interested in systems of compensation and incentivization, but I believe in the concept of the Public Domain more than anything else. Copyrights and patents (not trademarks) are temporary rights that have been heavily abused, and by those that don't believe the Public Domain should exist at all.
We cannot allow systems of compensation, existing or proposed, to abridge our rights of privacy, peaceful enjoyment of property, or act oppressively against expression and innovation. By all means, share some ideas. In the meantime however, practical and fundamental security considerations preclude all proprietary and/or obfuscated code.
Technically, lunchtime is at any moment. It's just a wave function.
(Score: 2) by fyngyrz on Wednesday February 12 2020, @08:22PM (3 children)
Oh, I don't, have no fear. Carry on.
--
After my girl turned vegan, it was
like I'd never seen herbivore.
(Score: 2) by edIII on Thursday February 13 2020, @11:05PM (2 children)
Yes, you do. If you code for a living, you want me to use your code because it compensates you in some way. The only way I would buy your code is if it was completely non obfuscated, which is a wholly reasonable position at this point.
I responded to the wrong post though, still :)
Technically, lunchtime is at any moment. It's just a wave function.
(Score: 2) by fyngyrz on Friday February 14 2020, @02:27AM (1 child)
No, I don't. I really don't.
I'll let 'ol Will answer that one:
(Score: 1, Funny) by Anonymous Coward on Wednesday February 19 2020, @05:06AM
Lol, fyngyrz I get you, but he'd never get a license let alone figure out your frequencies, to drop your signal to noise the way he is here.
But I wanted to let you know *someone* gets you, hamming it up with Hamlet. :)
(Score: 2) by Appalbarry on Tuesday February 11 2020, @02:32AM (5 children)
While you guys and gals are geeking out, I just need to know one thing: can I stick a USB into my laptop and have everything just work?
(Score: 3, Informative) by Booga1 on Tuesday February 11 2020, @02:54AM
The last few flavors of Linux I've tried had all USB devices work instantly when plugged in. That goes for Mint, Knoppix, and Raspbian. The devices were keyboards, mice, game pads, headsets with microphones, thumb drives, and SD card adapters. The web cams worked, but were a little fiddly to get full resolution, framerate, and remote control. However, the webcams were fiddly in Windows too.
I certainly don't miss the days of needing to manually add USB mount points for devices and all that junk.
If you're talking about using a USB bootable drive to run Linux that would depend on your machine. However, since the cost is one USB drive, I would suggest trying it out. Worst thing you'd have to do is put a different distribution on there and reboot.
(Score: 2) by The Mighty Buzzard on Tuesday February 11 2020, @04:27AM
Depends on what USB device you're talking about. If it just hit the shelves three days ago, maybe. If it's a few months old, almost certainly.
My rights don't end where your fear begins.
(Score: 0) by Anonymous Coward on Tuesday February 11 2020, @06:17AM
USB things I have had trouble with in Linux over the past 10 years:
1. Video over USB :(
2. Crappy electronic photo frame someone gave me.
(Score: 2) by Coward, Anonymous on Tuesday February 11 2020, @07:52AM (1 child)
USBTMC (USB Test & Measurement Class) for oscilloscopes, etc. has worked a lot more smoothly for me on Linux than Windows. Linux PyUSBTMC has been flawless for many years, while Windows uses manufacturer-specific VISA drivers that are a nightmare.
(Score: 2) by Coward, Anonymous on Tuesday February 11 2020, @07:59AM
Sorry, I meant python-usbtmc [github.com] not PyUSBTMC.
(Score: 2) by Chocolate on Tuesday February 11 2020, @02:45AM (2 children)
If yes, then sure it'll be great.
Bit-choco-coin anyone?
(Score: 2) by Azuma Hazuki on Tuesday February 11 2020, @04:34AM (1 child)
Devuan seems to be coming along nicely--tried Ascii-with-an-upgrade-to-Beowulf-first-thing in Virtualbox this weekend and was very impressed compared to how it was just a year ago. If you're a little more tech-savvy, Artix is absolutely wonderful and I used it for about 18 months, Slackware is still around. Gentoo is still around (and still compiling emerge -e @world, LOL). Void is awesome in its own special, quirky way.
There are options, and thank Madokami for that. Can always try an BSD if you like, too :)
I am "that girl" your mother warned you about...
(Score: 0) by Anonymous Coward on Tuesday February 11 2020, @01:39PM
I ran FreeBSD for years. Only a while ago I switched to Ubuntu. I admit I don't notice or care about systemd until something screws up. Then I wonder why they did these things this way