Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

SysStat library and plugin #434

Merged
merged 6 commits into from

4 participants

@kuzmas
Collaborator

I've made a panel plugin which gathers and shows some statistics about system resources.

Features:

  • lightweight but highly customizable
  • /proc FS is used as a source, so no additional dependencies
  • can show CPU usage (system, user, nice, other - stacked, all in individual colours)
  • can scale CPU usage according to current CPU frequency
  • can show statistics for individual CPU core or for the whole CPU in average
  • can show Memory consumption (applications, buffers, cached - stacked, all in individual colours)
  • can show Swap consumption
  • can show current Network trafic for selected interface (received, transmitted - overlapped, in individual colours, plus auto-generated colour for overlapped areas)
  • can scale Network traffic according to selected maximum in range from 1B/s to 512GB/s
  • can show Network traffic in linear scale or logarithmic scale (in logarithmic scale it's easier to spot small traffic)
  • can show lines across graphs (number is customizable)
  • can show a label on top of graph
  • customizable label text, font and colour
  • customizable update speed (from 0.5s to 60s in 0.5s steps)
  • customizable history size (equal to plugin width)
  • all plugin instances update graphs synchronously
  • all colours customizable

6 instances of the plugin I use on my laptop: http://dl.dropbox.com/u/4651395/sysstat.png

@kuzmas
Collaborator

I can pull it myself, but I would like somebody to review my code, please.

@amoskvin
Collaborator
@kuzmas
Collaborator

Neither am I.

Is there any specific reason for (L)GPLv.2 and not (L)GPLv.3 ?

@kuzmas
Collaborator

BTW, I've read the licensing policy again, and it said "LGPL v.2.1 or later". It looks like "v.3" == "later". Doesn't it?

@surlykke
Collaborator
@SokoloffA
Owner

@kuzmas
You misunderstood the phrase "LGPL v.2.1 or later". I mean that the code must be distributed under LGPL2+.

This program or library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

@kuzmas
Collaborator

All right, thanks everyone for explanations. I'm not a lawyer, so this topic was always a problem to me.
I'll copy the license from other Razors lib to SysStat lib to be the same.
After all, any GPL is good to me.

@kuzmas
Collaborator

According to explanation on Wikipedia: ( http://en.wikipedia.org/wiki/Gplv3 )
«Code licensed under LGPL can be linked with any other code no matter what license that code has.»
Since SysStat is a library - there is no conflict between licenses.
In addition, I relicensed it under both: LGPLv2+ if it is used as part of Razor-qt ot LGPLv3 otherwise.

@kuzmas kuzmas merged commit 6002ff0 into from
@SokoloffA
Owner

I known you changd license, but I want to clarify the situation for a future readers.
Code licensed under LGPL can be linked with any licensed code, but not included in the one source tree. As example, panel itself has a LGPLv2+, but your plugin has LGPLv3, as result panel+plugin will have a LGPLv3.

@kuzmas
Collaborator

I think explicitly stated multi-licensing in this particular case causes plugin+library to have LGPLv2+

@kuzmas
Collaborator

Oh, and BTW panel plugin always was under LGPLv2+, that is the library which was LGPLv3 initially and multi-licensed now.

@amoskvin
Collaborator
@kuzmas
Collaborator

Also it doesn't build:

This is weird - it builds fine for me.
Anyway I've added '..' to the list of included folders and pushed the commit, so try again please.

@surlykke
Collaborator
@kuzmas
Collaborator

As to licenses:
razor-config-mouse code has 3 types of licenses:

  • (c)DWTFYW
  • (c)GPL2 (c)GPL3
  • (c)GPL2 (only one file: previewwidget.h)

So combination of LGPLv2+ and GPLv2 licenses in Razor means the whole project must be conveyed under GPLv2 only. And yes, the combination with LGPLv3 is incompatible even if razor-config-mouse is not linked to libsysstat. I think we cannot split source code to parts per application when we apply licenses, we have to think of the whole Razor as 'The Project'. And it means the whole project is under GPLv2.

And:

I think this basically makes it just LGPLv3+ since there is a
restriction on its use. For instance, I think it violates Section 8 of
the OSI definition: http://opensource.org/docs/osd

You're right, I have to change the license again.

@amoskvin
Collaborator
@kuzmas
Collaborator

Done: b0b6a30

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.