<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Mardy (Entratas super etica)</title><link>http://mardy.it/</link><description></description><atom:link href="http://mardy.it/ia/categories/etica.xml" rel="self" type="application/rss+xml"></atom:link><language>ia</language><copyright>Contents © 2025 &lt;a href="mailto:info@mardy.it"&gt;Alberto Mardegan&lt;/a&gt; </copyright><lastBuildDate>Sat, 27 Sep 2025 09:38:34 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>No, libogc did not steal RTEMS code</title><link>http://mardy.it/ia/blog/2025/04/no-libogc-did-not-steal-rtems-code.html</link><dc:creator>Alberto Mardegan</dc:creator><description>&lt;p&gt;&lt;em&gt;Update 09/05/2025:&lt;/em&gt; while the text below addresses a couple of specific blocks of code,
after publishing this article I've been contacted by some people providing more
evidence pointing that the similarity of the code goes beyond what one might
interpret as “inspiration”. There are also a couple of other bits on
information that the reader might want to take into account: first, a
&lt;a href="https://mas.to/@davejmurphy/114414723608693881"&gt;screenshot of an email&lt;/a&gt; in
which Shagkur tells his version of how the code came about (which seems to
point that, if a copyright infringement actually happened, this was done
without the knowledge of devkitPro's maintainers) and a &lt;a href="https://www.rtems.org/news/2025-05-06-rtems-devkit-libogc-response/"&gt;public statement by
RTEMS&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;All of a sudden the Wii homebrew community is in flames after Hector Martin
(&lt;a href="https://github.com/marcan"&gt;marcan&lt;/a&gt;, also known in the Linux Kernel
 community), co-author of “The Homebrew Channel” application, &lt;a href="https://github.com/fail0verflow/hbc"&gt;decided to close
the project&lt;/a&gt; and denounce libogc for its
“theft” of RTEMS's code:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;It has recently been revealed that the threading/OS implementation in libogc is, in fact, stolen from RTEMS. The authors of libogc didn't just steal proprietary Nintendo code, but also saw it fit to steal an open source RTOS and remove all attribution and copyright information. This goes far beyond ignorance about the copyright implications of reverse engineering Nintendo binaries, and goes straight into outright deliberate, malicious code theft and copyright infringement.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;A little below, Hector Martin provides this “proof”: &lt;em&gt;you can compare
&lt;a href="https://github.com/devkitPro/libogc/blob/52c525a13fd1762c10395c78875e3260f94368b5/libogc/lwp_threads.c#L580"&gt;this&lt;/a&gt;
function in libogc to
&lt;a href="https://github.com/atgreen/RTEMS/blob/2f200c7e642c214accb7cc6bd7f0f1784deec833/c/src/exec/score/src/thread.c#L385"&gt;this&lt;/a&gt;
function in a really old version of RTEMS&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;While I don't know the truth about libogc's history (I've started contributing
to it only in the last couple of years), and I'd welcome a first-hand
explanation from shagkur (Michael Wiedenbauer), I can confidently say that the
accusation is unfounded, by just looking at the code. To be more precise: I
cannot vouch for the whole of libogc, I can only say that this function, that
Hector Martin offers as example, actually hints that the code was not stolen.&lt;/p&gt;
&lt;p&gt;While it's obvious that the developer of libogc's code did have a look at
RTEMS's code, and this can be assumed because the variable names are very
similar (and in some cases they are so badly named, that they cannot be this
similar by accident!), the code only looks vaguely similar. Furthermore, for
some reason Hector Martin decided to pick a rather recent version of libogc's
code, but if we look at the &lt;a href="https://github.com/devkitPro/libogc/blob/e550333e6f2fc413fd42d6af9a9aaf036d9de9f6/libogc/lwp_threads.c#L469"&gt;first version that was
committed&lt;/a&gt;
(well, to git, at least), we see that similarities are much less striking.
Let's look at a small snippet of the function, where the thread object's
members are being initialized:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RTEMS from 1996:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="n"&gt;the_thread&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;Start&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;is_preemptible&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;is_preemptible&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="n"&gt;the_thread&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;Start&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;is_timeslice&lt;/span&gt;&lt;span class="w"&gt;   &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;is_timeslice&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="n"&gt;the_thread&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;Start&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;isr_level&lt;/span&gt;&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;isr_level&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="n"&gt;the_thread&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;current_state&lt;/span&gt;&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;STATES_DORMANT&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="n"&gt;the_thread&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;resource_count&lt;/span&gt;&lt;span class="w"&gt;         &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="n"&gt;the_thread&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;real_priority&lt;/span&gt;&lt;span class="w"&gt;          &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;priority&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="n"&gt;the_thread&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;Start&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;initial_priority&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;priority&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;libogc from 2023:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;thethread&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;budget_algo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prio&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="mi"&gt;128&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;LWP_CPU_BUDGET_ALGO_NONE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;LWP_CPU_BUDGET_ALGO_TIMESLICE&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;thethread&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;is_preemptible&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;is_preemtible&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;thethread&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;isr_level&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;isr_level&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;thethread&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;real_prio&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;prio&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;thethread&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;cur_state&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;LWP_STATES_DORMANT&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;thethread&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;cpu_time_budget&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;_lwp_ticks_per_timeslice&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;thethread&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;suspendcnt&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;thethread&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;res_cnt&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;libogc from before 2004:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;thethread&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;isr_level&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;isr_level&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;thethread&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;real_prio&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;prio&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;thethread&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;cur_state&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;LWP_STATES_DORMANT&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;thethread&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;suspendcnt&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;thethread&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;res_cnt&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Let's pay attention to the &lt;code&gt;is_preemtible&lt;/code&gt; variable, which is present in
current's libogc and in RTEMS, but not in the old libogc: it was added later.
Now, RTEMS has it since at least 1996, so, if libogc was actually copied from
it, how come this variable was not copied, too, but added at a later time?
Note, the accusation against libogc has been formulated in clear-cut terms:
&lt;em&gt;...steal an open source RTOS and remove all attribution and copyright
information...&lt;/em&gt;; it's clear that this is not what happened. It's much more
likely that libogc's developers did look at RTEMS code (which at that time
&lt;a href="https://github.com/atgreen/RTEMS/blob/2f200c7e642c214accb7cc6bd7f0f1784deec833/LICENSE"&gt;had another
license&lt;/a&gt;
and was known as the &lt;em&gt;Real Time Executive for Missile Systems&lt;/em&gt; or &lt;em&gt;Real Time
Executive for Military Systems&lt;/em&gt;) as a model and source of information, but
since the code was heavily adapted for libogc, they didn't feel they were
creating a “derivative work”. It's a grey area, but even myself, if I took a
project written in C++ and translated it into Rust or C#, for example, I'm
rather sure I wouldn't consider my work to be a derivative of the original; I'm
not a lawyer, so I might be plain wrong here, but I would be in good faith.&lt;/p&gt;
&lt;p&gt;At most, libogc could be accused of plagiarism, but in my humble opinion even
that would be a stretch: since we are not talking of some artistic work, but of
work of science/ingeneering, it's normal to build upon others' work. Yes,
credit should generally be given, but given that we are talking of a US
military-related project, I can see that there could be ethical reasons for not
wanting to do so.&lt;/p&gt;
&lt;h4&gt;Summing up&lt;/h4&gt;
&lt;p&gt;I'm consciously omitting the other old accusations about “stealing” Nintendo's
code, first because they are not new, and secondly because I don't consider
reverse-engineering as stealing. What I found most disturbing about this story
is that it smells hatred from far away, since I have a hard time to understand
why someone felt the need to look into libogc's origin and publicly smearing
the project and ultimately harming the whole of the Wii homebrew community.&lt;/p&gt;</description><guid>http://mardy.it/ia/blog/2025/04/no-libogc-did-not-steal-rtems-code.html</guid><pubDate>Mon, 28 Apr 2025 13:56:49 GMT</pubDate></item><item><title>Will the internet forget russophobia?</title><link>http://mardy.it/ia/blog/2023/06/will-the-internet-forget-russophobia.html</link><dc:creator>Alberto Mardegan</dc:creator><description>&lt;p&gt;I've often wondering what will happen when this horrific war in Europe will
finally be over. I won't be discussing politics here, but what is mostly
interesting to me is how (and if) all the companies who made high proclaims
about not doing business with Russia will justify their getting back into the
Russian market. They will probably count on the fact that the war will be long,
and that people will forget what these companies' stance was. After all, the
world has forget about all the companies who collaborated with the Nazi regime,
so we can expect the same to happen with this war.&lt;/p&gt;
&lt;p&gt;But I don't think that's right: if you made a mistake, you should be held
accountable for it. You might be wondering what is the “mistake” I'm talking
about: that's &lt;strong&gt;russophobia&lt;/strong&gt;, indeed. To put it simply, and make a concrete
example: if The Qt Company stops doing business with Russian companies and
blocks its downloads page to Russian IP addresses because of the war, &lt;em&gt;without
being forced by the government to do so&lt;/em&gt;, but does not take similar measures
against other countries who wage wars which have caused way more deaths and
displacement of individuals, well, that's what I call “russophobia”. Of course,
I'm aware that there's way more than that, and that the hatred for all what is
Russian (including culture and sport competitions) is an even bigger issue, but
in this blog post I'm especially focused on the IT world, so please forgive my
semi-intentional narrow-mindness on this topic.&lt;/p&gt;
&lt;p&gt;Now, I'm fully aware that we live in a mediatic bubble that directs our
decisions in a way that is almost automatic, and I'm sure that most people
working for companies who took russophobic decisions are not themselves
russophobic at all (and I'm not dismissing the possibility that even the very
same people who took these decisions might not be russophobic) and that these
decisions were taken on impulse, because “everyone else is doing the same” and
due to the media pressure that if you don't do that, you might get accused of
supporting the “wrong” side of the war.&lt;/p&gt;
&lt;p&gt;But that's not an excuse, especially for “smart” people like IT engineers (and
I put the adjective between quotes &lt;a href="http://mardy.it/ia/blog/2022/11/the-idiotism-of-software-developers.html"&gt;for a
reason&lt;/a&gt;), and especially after
the initial heat has passed and when, after more than one year of war, we
should have been exposed to different point of views and be able to evaluate
the situation more rationally. It has been therefore especially stunning for me
to learn that the Linux Kernel community, and hence The Linux Foundation, has
recently given room to russophobic behaviours, refusing a patch coming from the
Russian company Baikal (a CPU maker). For the record, the incriminated patch
was not related to supporting hardware produced by this company (not that this
would make the deed less serious, but at least one could have argued that there
could be some spot of logic in it):&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;From: Jakub Kicinski &amp;lt;kuba@kernel.org&amp;gt;
To: Serge Semin &amp;lt;Sergey.Semin@baikalelectronics.ru&amp;gt;
[...]

On Tue, 14 Mar 2023 01:42:24 +0300 Serge Semin wrote:
&amp;gt; From: Serge Semin &amp;lt;Sergey.Semin@baikalelectronics.ru&amp;gt;

We don't feel comfortable accepting patches from or relating 
to hardware produced by your organization.

Please withhold networking contributions until further notice.
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;(&lt;a href="https://lore.kernel.org/all/20230314103316.313e5f61@kernel.org/"&gt;here&lt;/a&gt; the
link to the original discussion). One week later, someone denounced this as a
violation to the Code of Conduct committee (unfortunately the only link I could
find to this is coming from a &lt;a href="https://www.opennet.ru/openforum/vsluhforumID3/129994.html#529"&gt;Russian IT
forum&lt;/a&gt;, and any
other references seem to have been removed from DuckDuckGo and Google), only to
receive a reply that it was all fine.&lt;/p&gt;
&lt;p&gt;To me this is not fine. The war will end, sooner or later, but it bothers me
that we never learn from the past and repeat the same mistakes over and over.
We apparently know a lot about propaganda, yet we fail to recognize it when it
influences our own mind and actions. My humble contribution is the creation of
a page where I list the companies who have taken russophobic actions, and, on
the opposite side, companies (like Flickr and Zorin OS) who have stood out for
positive messages and helpful actions. My hope is that some of the listed
companies will find the courage to review their actions, and either correct
their stance, or at least clarify their reasons. So, I hereby present&lt;/p&gt;
&lt;p style="text-align: center; font-size: 130%"&gt;
  &lt;a href="https://github.com/mardy/russophobia"&gt;Denouncing russophobia&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;where you'll find some of the good and some of the bad companies. I'm sure I'm
missing plenty of them: I just started recollecting my memories and searching
online a couple of days ago. I created this as a GitHub project, because indeed
I'm looking forward for contributions, to help me make the lists more complete.
I need to stress that the fact that a company has announced the suspension of
its business in Russia does not automatically make it russophobic: what we need
to look at is the &lt;em&gt;reason&lt;/em&gt; for that decision: companies like LEGO and Nintendo,
for example, have suspended their operations citing logistic and financial
reasons; no judgement involved.&lt;/p&gt;
&lt;p&gt;Let me repeat it once more, just to make sure there are no misunderstandings:
it's perfectly fine for businesses to take a stance on politics, and sometimes
it might be even praiseworthy; but if a company is international, and does not
apply the same reasoning to other armed conflicts, or seem to care only about
certain human rights violations and not others, then it's a case of double
standards which we need to be aware of, and make the company think twice about
it. And that's also the reason why you won't find any Ukrainian company among
the “bad” ones, because in their case the reaction is perfectly understandable
and they can hardly be accused of adopting double standards (well, technically
speaking, they are adopting double standards, but when you are so directly
impacted I think it does not deserve a blame): if it's your house which burns,
you should definitely scream about it, even if you previously have been silent
about your neighbour house's burning.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I'm especially looking forward for more “good” companies&lt;/strong&gt;, who have shown empathy
towards the people affected by the war (and maybe even collected money to help
them) while refraining from taking the judging role and forgetting about all
the injustice and suffering that other wars have caused (including on that very
same piece of land that suddenly appeared on all newspapers' front pages on
February 24th, 2022). I hope that these companies can serve as an example of
positive action, humanity, and love.&lt;/p&gt;</description><guid>http://mardy.it/ia/blog/2023/06/will-the-internet-forget-russophobia.html</guid><pubDate>Sun, 04 Jun 2023 07:41:02 GMT</pubDate></item><item><title>Leaving Canonical, again</title><link>http://mardy.it/ia/blog/2022/12/leaving-canonical-again.html</link><dc:creator>Alberto Mardegan</dc:creator><description>&lt;p&gt;For the &lt;a href="http://mardy.it/ia/blog/2017/04/looking-for-new-adventures.html"&gt;second time&lt;/a&gt;, I'm being shown
the door at Canonical. Well, technically, this time it was me who handed over my
resignation, but that was only after I was told in very clear terms that I
would eventually be fired. No timeframe was given, but since I don't
particularly enjoy the feeling of checking my e-mail every morning to find out
whether this is the day when I'm being fired, I decided to take the initiative
and leave myself.&lt;/p&gt;
&lt;p&gt;The reason? Those who know me well might suspect that it's related to some
complications with that fact that I'm living in Russia, or maybe with some
remarks I might have made about the war in Ukraine or about other current
events, since &lt;a href="http://mardy.it/ia/blog/2019/09/principles-and-privileges.html"&gt;I tent to be quite outspoken and
provocative&lt;/a&gt;. Nothing of all that: it's about my
&lt;strong&gt;refusal to get vaccinated&lt;/strong&gt; against COVID-19; unfortunately, it has now
become apparent that I'm not the only one leaving, and other employees who have
refused either to get vaccinated or to disclose their vaccination status are
also being shown the door (including people who have been in the company for
more than 10 years). This has sparked some internal discussions in the company, and
several different point of views have been voiced: from those who welcome this
policy and would like to see it extended to flu vaccinations (which makes a lot
of sense, since once you've accepted to renounce your freedom in order to
protect the weak, you should accept it for all transmissible diseases), to
those who voiced concerns about the legality of this move, or would have found
this reasonable one year ago but not in the current situation as restrictions
are getting lifted and the current variants are less scary than the previous
ones; those who pointed out that being vaccinated has little impact on
transmissibility of the virus; that we are mostly a remote company and we could
instead have exceptions to allow unvaccinated people (or people with a weak
immune system) to remotely attend the few in-person meetings we have;
that as long as there are no vaccination mandates for plane flights and other
guests attending the same hotel premises where we meet, mandating employees to
get vaccinated might not help a lot; and whether this is a decision that a
company should make, or shouldn't it rather lobby the politics to have it
mandated at state level. I think there's merit to all these arguments, but I'm
personally not particularly interested in discussing any of them, since my
point is another.&lt;/p&gt;
&lt;p&gt;Before talking about that, though, let me clearly set one thing straight: I
hate lies, and &lt;strong&gt;Canonical's management is lying&lt;/strong&gt; about this matter. The
vaccination mandate measure is being justified on the grounds that it allows
employees to travel (something that I've been able to do as unvaccinated
throughout the last two years, even when restrictions were at their peak) and,
most importantly, to protect our weaker colleagues. This is what I find most
disgusting: using genuine feelings like love and compassion to justify
repressive measures. No, dear Canonical, this has nothing to do with protecting
the weak; not only because a vaccinated person can still spread the virus (and
our employees know this from first-hand experience), but also because, if this
was the real reason, then you'd accept people who have recently recovered from
COVID-19, since &lt;a href="https://academic.oup.com/cid/article/75/1/e545/6563799"&gt;immunisation after recovery is not worse than that of
vaccination&lt;/a&gt;; but you
don't, as I was explicitly told by HR that any previous infection is irrelevant.
It's also significant that you didn't establish clear rules about how often
one needs to get vaccinated, since all recent scientific literature on vaccine
efficacy shows that this is not a minor detail. Why not just be honest with
ourselves, and admit it's &lt;a href="https://www.enr.com/articles/52481-us-announces-revised-vaccine-mandate-rules-for-federal-contractors"&gt;just for
business&lt;/a&gt;?
Being open about the fact that having a fully vaccinated workforce can grant us
access to more business deals would not change a lot in the practical life of
the (ex-)employees, but at least we won't feel that the company is treating us
as fools while embellishing its image with fake care and compassion. Or, if
there are other reasons, state them, because these ones don't stand up to logic
scrutiny.&lt;/p&gt;
&lt;p&gt;Another thing that doesn't match (though maybe this is a timing issue, so I
cannot for sure call it out as a lie) is the fact that HR claims to have an
exemption process through which one could opt-out of the vaccination for
religious beliefs. Well, I was explicitly told in very clear terms by HR that
no exceptions would be made on either moral or religious grounds.  But maybe
this has changed since the time I was told this (mid October) and now?&lt;/p&gt;
&lt;p&gt;Here, finally, let me state why I believe that such a mandate is wrong. The
first thing I want to put on the table is that even though I see very little
reason for this mandate (given all what we know about the virus mutability and
infectiousness, the shortcomings of the vaccines, etc. — by the way, if you are
into science I suggest reading &lt;a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9062939/"&gt;this
article&lt;/a&gt; which raises
some questions you won't hear in mainstream media and has a comprehensive
bibliography for further study), I recognize that in principle there are very
solid reasons for vaccination mandates, for example in the case where a virus
is extremely lethal, its symptoms otherwise uncurable and the vaccine is 100%
safe and highly effective. But even in that case, while getting vaccinated
myself, I would still oppose a mandate. Why?  Because of freedom, which trumps
everything. The choice is never between a healthy life and freedom: if there's
no freedom, there's no life worth living.  Even if some decision has very solid
reasons behind it, this doesn't automatically make it a good decision.&lt;/p&gt;
&lt;p&gt;Let me make a few examples: if a company (I'm talking about companies here, but
the reasoning could be extended to states as well) decided that smokers will be
fired, or that those who drink alcoholics will be fired, or that you cannot eat
meat, or that you must take a pill whenever your head aches, or that
transgender people must undergo gender reassignment surgery, or that
everyone should wear a black band on their arm whenever a relative of a
colleague dies, or that employees' households must use the product made by the
employer, or that they have to excercise sports for at least two hours per
week, etc.; I would be categorically opposed to every single of these
impositions, despite recognising that there are reasons behind each of them,
and that I even dream of a world in which some of their goals are attained
(could we just all be fit and healthy?!). Because I think that personal freedom
is more important. You can always find good reasons to justify this or that
action; surely, if we think back at the fascist and totalitarian regimes of the
first half of last century, we must acknowledge that they were supported by the
(overwhelming?) majority of the population. An effective propaganda machine
could convince the population on this and that matter, but ultimately it's the
population who &lt;em&gt;reasoned&lt;/em&gt; and accepted that storytelling. Nowadays the
situation is different, but the mechanisms are the same, except that propaganda
has become way more effective (&lt;a href="http://mardy.it/ia/blog/2022/11/the-idiotism-of-software-developers.html"&gt;or have we become
dumber?&lt;/a&gt;) and aligned over the
same direction, thanks to the globalisation process.&lt;/p&gt;
&lt;p&gt;I'm well aware that societies are made of rules and therefore inevitably
restrict personal freedom: Western societies, for example, forbid nudity in
public places, and that's something I accept because it's part of my culture;
it's a rule deeply entrenched in our history, and I don't feel it as a burden.
I'm convinced, however, that the evolution of human society should be that, as
we become more conscious, we should be moving towards more free societies, with
fewer rules and more tolerant for diversity.&lt;/p&gt;</description><guid>http://mardy.it/ia/blog/2022/12/leaving-canonical-again.html</guid><pubDate>Sat, 03 Dec 2022 07:03:58 GMT</pubDate></item><item><title>Quando le scientia manca de argumentos</title><link>http://mardy.it/ia/blog/2020/10/quando-le-scientia-manca-de-argumentos.html</link><dc:creator>Alberto Mardegan</dc:creator><description>&lt;p&gt;E ben, io lo confessa: io es un de ille negationistas qui non crede in le
scientia. Al minus, si on associa le parola “scientia” con le Organisation
Mundial del Sanitate (OMS, o WHO in anglese).&lt;/p&gt;
&lt;p&gt;Jam desde plure annos io ha perdite le &lt;em&gt;fide&lt;/em&gt; in iste organisation, ma un nova
que io legeva recentemente me ha stimulate a declarar publicamente mi adversion
pro le OMS: in iste articulo, le capite del OMS
&lt;a href="https://www.israelnationalnews.com/News/News.aspx/288950"&gt;declarava&lt;/a&gt; que le
idea de attinger le &lt;em&gt;immunitate de grege&lt;/em&gt; per relaxar le limitationes al
diffusion del virus COVID-19 &lt;strong&gt;non es ethic&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Le referimento al ethica me surprendeva. Io non poteva recordar, que io unquam
audiva le OMS parlar de ethica, ante iste momento. An le OSM non es un
organisation scientific? Si illo lo es, le evocation del ethica como
justification de un argumentation sembla demonstrar que il non ha factos
scientific pro supportar le these.&lt;/p&gt;
&lt;p&gt;Ma anque si nos concede que le personal del OMS pote — a titulo purmente
personal — facer considerationes de charactere ethic, como pote nos conciliar
iste declaration de Tedros Adhanom Ghebreyesus con le silentio super un
quantitate de practicas e experimentos scientific, que multe personas considera
esser contrari al ethica? Esque experimentar le vaccinos super populationes del
tertie mundo es ethic? O experimentar los super le stratos plus indigente del
population (&lt;em&gt;voluntarimente&lt;/em&gt;, on dice, ma on les compensa con alicun beneficios) es
ethic? Reciper enorme contributiones financiari del companias que developpa
medicinas e vaccinos, e pronunciar se super themas medic e virologic, es isto
ethic?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Contra potentes nemo est munitus satis;&lt;br&gt;
si vero accessit consiliator maleficus,&lt;br&gt;
vis et nequitia quicquid oppugnant, ruit.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;em&gt;(Fedro, libro secunde, capitulo sexte)&lt;/em&gt;&lt;/p&gt;</description><category>actualitate</category><category>etica</category><category>information</category><category>interlingua</category><category>philosophia</category><category>politica</category><category>reflexiones</category><category>scientia</category><guid>http://mardy.it/ia/blog/2020/10/quando-le-scientia-manca-de-argumentos.html</guid><pubDate>Tue, 27 Oct 2020 19:25:39 GMT</pubDate></item><item><title>Cammino quindi penso - 2019-04-09 - Fecondazione artificiale</title><link>http://mardy.it/ia/blog/2019/04/cammino-quindi-penso-2019-04-09-fecondazione-artificiale.html</link><dc:creator>Alberto Mardegan</dc:creator><description>&lt;div class="youtube-video align-center"&gt;
&lt;iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/wHcBQPEkYcI?rel=0&amp;amp;wmode=transparent" frameborder="0" allow="encrypted-media" allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;&lt;p&gt;Nel Nebraska, una signora di 61 anni ha dato alla luce una bambina
concepita mediante la fecondazione artificiale.&lt;/p&gt;</description><guid>http://mardy.it/ia/blog/2019/04/cammino-quindi-penso-2019-04-09-fecondazione-artificiale.html</guid><pubDate>Tue, 09 Apr 2019 20:34:38 GMT</pubDate></item></channel></rss>