QSSL should change its policy

Hi Eric…

Please, do not underestimate the people who are posting here. What you
see is what you got outside GM, FORD, and other car companies (some of
which are at junk status right now). Unless you are dealing with Honda
and Toyota, perhaps you (and QSSL?) should consider that this is serious
stuff, and that the voice of the customer matters a bit.

Did you hear what John Nagle said about new engineers not wanting to
work with QNX? You are talking about smart/intelligent geeks not wanting
to touch this stuff! Having been in school myself, this would open my
eyes about any product!

In any case, I wish QNX all the best. With hope, QSSL, no longer
gasping for money, will perhaps reverse -or at least not add to- some of
the most aggressive policies that have negatively affected some of us
QNX-junkies.

Here is hoping for the best. Regards…

Charlie Brown,

uhumm,

Miguel that is! :slight_smile:


Eric Johnson wrote:

Hi Igor, I appreciate how you feel but I don’t agree with you. Any change at
all has the potential to break someone’s code that relies on some particular
behavior that may be undefined or that may have been coded in an attempt to
work around something that isn’t behaving correctly in the first place.
Those sorts of things happen all the time and can’t be avoided (though when
we’re aware they should be documented, and there have been times when we
didn’t adequately document such changes). Compatibility is a concern and
costs us a good deal of time and effort since we have to design to maintain
compatibility when often the more straightforward approach would break
existing applications.

  • Eric

“Miguel Simon” <simon@ou.edu> wrote in message
news:d5oe05$g79$1@inn.qnx.com

Hi Eric…

Please, do not underestimate the people who are posting here.

Do not over-estimate it either…

Hi Mario…

Point taken, but it is a mute point at best. Evidently, QSSL is not
over-estimating anyone here, this much we know.

Regards…

Miguel.


Mario Charest wrote:

“Miguel Simon” <> simon@ou.edu> > wrote in message
news:d5oe05$g79$> 1@inn.qnx.com> …

Hi Eric…

Please, do not underestimate the people who are posting here.


Do not over-estimate it either…

“David Gibbs” <dagibbs@qnx.com> wrote in message
news:d5o42n$93g$1@inn.qnx.com

Igor Kovalenko <> kovalenko@comcast.net> > wrote:

For example, what bozo came up with the idea to change how offset
argument
of mmap() is handled between 6.2 and 6.2.1? The result was major PITA for
people who cared to write any drivers for 6.2.

I don’t know who changed it, but it only burnt the bozos who decided
they could safely treat a signed value as unsigned, and pass out of
range values to the function.

Here it is - the QSSL attitude expressed as best as it gets. Whatever bozos
got burned David (and mind you, I was not), they are your customers. Meaning
they paid QSSL so that you can earn your salary. You’re disrespecting them
in a very insulting manner. And yes, my posting did not sound too respectful
either - but then again - we are paying you, not the other way around.

– igor

Igor Kovalenko <kovalenko@comcast.net> wrote:

“David Gibbs” <> dagibbs@qnx.com> > wrote in message
news:d5o42n$93g$> 1@inn.qnx.com> …
Igor Kovalenko <> kovalenko@comcast.net> > wrote:

For example, what bozo came up with the idea to change how offset
argument
of mmap() is handled between 6.2 and 6.2.1? The result was major PITA for
people who cared to write any drivers for 6.2.

I don’t know who changed it, but it only burnt the bozos who decided
they could safely treat a signed value as unsigned, and pass out of
range values to the function.


Here it is - the QSSL attitude expressed as best as it gets. Whatever bozos
got burned David (and mind you, I was not), they are your customers. Meaning
they paid QSSL so that you can earn your salary. You’re disrespecting them
in a very insulting manner. And yes, my posting did not sound too respectful
either - but then again - we are paying you, not the other way around.

I think that my posting record in these conferences speaks for itself
as to my attitude towards, and helpfullness towards our customers.

-David

David Gibbs
QNX Training Services
dagibbs@qnx.com

“David Gibbs” <dagibbs@qnx.com> wrote in message
news:d5r9rf$l4j$2@inn.qnx.com

Igor Kovalenko <> kovalenko@comcast.net> > wrote:
“David Gibbs” <> dagibbs@qnx.com> > wrote in message
news:d5o42n$93g$> 1@inn.qnx.com> …
Igor Kovalenko <> kovalenko@comcast.net> > wrote:

For example, what bozo came up with the idea to change how offset
argument
of mmap() is handled between 6.2 and 6.2.1? The result was major PITA
for
people who cared to write any drivers for 6.2.

I don’t know who changed it, but it only burnt the bozos who decided
they could safely treat a signed value as unsigned, and pass out of
range values to the function.


Here it is - the QSSL attitude expressed as best as it gets. Whatever
bozos
got burned David (and mind you, I was not), they are your customers.
Meaning
they paid QSSL so that you can earn your salary. You’re disrespecting
them
in a very insulting manner. And yes, my posting did not sound too
respectful
either - but then again - we are paying you, not the other way around.

I think that my posting record in these conferences speaks for itself
as to my attitude towards, and helpfullness towards our customers.

Makes one wonder why are they leaving in droves, doesn’t it?

Yeah, you personally were helpful on many occasions (so was I - and I was
not even paid for it). This does not change the impression that you guys
treat your customers in such a way that it seems we should be eternally
grateful for even having a chance to use your stuff…

– igor

Igor Kovalenko wrote:

Here it is - the QSSL attitude expressed as best as it gets. Whatever bozos
got burned David (and mind you, I was not), they are your customers. Meaning
they paid QSSL so that you can earn your salary.

Would any OS vendor behave differently when modifying the meaning of
an undocumented/reserved/etc. part of the API? These things are
generally undocumented/reserved/etc. because they aren’t defined in a
published spec, and they may change in the future. Developers generally
know they’re taking things into their own hands when they mess with
these undefined bits.

Isn’t your comment like griping at a cop when you get pulled over for
speeding because your taxes “pay” her salary?


Chris Herborth (cherborth@qnx.com)
Never send a monster to do the work of an evil scientist.

Igor Kovalenko wrote:

“David Gibbs” <> dagibbs@qnx.com> > wrote in message
news:d5r9rf$l4j$> 2@inn.qnx.com> …

Igor Kovalenko <> kovalenko@comcast.net> > wrote:

“David Gibbs” <> dagibbs@qnx.com> > wrote in message
news:d5o42n$93g$> 1@inn.qnx.com> …

Igor Kovalenko <> kovalenko@comcast.net> > wrote:


For example, what bozo came up with the idea to change how offset
argument
of mmap() is handled between 6.2 and 6.2.1? The result was major PITA
for
people who cared to write any drivers for 6.2.

I don’t know who changed it, but it only burnt the bozos who decided
they could safely treat a signed value as unsigned, and pass out of
range values to the function.

I’m often critical of QSSL management, but not for this.
Making that change was a reasonable decision. As memory sizes
passed the 2GB mark, that had to be fixed.

Expanding the address space is usually painful.
But necessary.

I’d fault QSSL for poor coordination with third-party vendors,
though. When something like this changes, it’s necessary for the
OS vendor to make sure that the third party vendors get the word
in advance and have their products upgraded when the new release
comes out. Because most of QSSL’s third party vendors don’t
sell very much QNX product, they tend to give QNX
support low priority. This results in long lags between a QSSL
release and the matching third party release. (Mindready comes
to mind,) QSSL has to take the lead on making that happen.

John Nagle

That was a good one, but not quite on target. The mmap() was not
‘undocumented’. The exact behavior wrt the offset argument was, but once you
establish certain behavior it becomes ‘de-facto standard’ and IMHO you’re
bound to maintain it. Good vendors would even emulate old bugs in new
releases to maintain compatibility (it usually needs to be specifically
enabled by some config parameter).

So no, the cop analogy is not really valid. It is more like passing a new
law that retroactively makes your accepted tax returns from 5 years back
invalid and requiring you to pay late penalties now. If you followed the
story of ‘deprivatization’ of Yukos by russian government, that’s it. Can
they gripe?

– igor

“Chris Herborth” <cherborth@qnx.com> wrote in message
news:d5tbm8$8dd$1@inn.qnx.com

Igor Kovalenko wrote:
Here it is - the QSSL attitude expressed as best as it gets. Whatever
bozos got burned David (and mind you, I was not), they are your
customers. Meaning they paid QSSL so that you can earn your salary.

Would any OS vendor behave differently when modifying the meaning of an
undocumented/reserved/etc. part of the API? These things are generally
undocumented/reserved/etc. because they aren’t defined in a published
spec, and they may change in the future. Developers generally know
they’re taking things into their own hands when they mess with these
undefined bits.

Isn’t your comment like griping at a cop when you get pulled over for
speeding because your taxes “pay” her salary?


Chris Herborth (> cherborth@qnx.com> )
Never send a monster to do the work of an evil scientist.

“John Nagle” <nagle@overbot.com> wrote in message
news:d5uau6$hi$1@inn.qnx.com

Igor Kovalenko wrote:
“David Gibbs” <> dagibbs@qnx.com> > wrote in message
news:d5r9rf$l4j$> 2@inn.qnx.com> …

Igor Kovalenko <> kovalenko@comcast.net> > wrote:

“David Gibbs” <> dagibbs@qnx.com> > wrote in message
news:d5o42n$93g$> 1@inn.qnx.com> …

Igor Kovalenko <> kovalenko@comcast.net> > wrote:


For example, what bozo came up with the idea to change how offset
argument
of mmap() is handled between 6.2 and 6.2.1? The result was major PITA
for
people who cared to write any drivers for 6.2.

I don’t know who changed it, but it only burnt the bozos who decided
they could safely treat a signed value as unsigned, and pass out of
range values to the function.

I’m often critical of QSSL management, but not for this. Making that
change was a reasonable decision. As memory sizes
passed the 2GB mark, that had to be fixed.

I am not sure I follow you John. They used to treat offset of mmap() as
unsigned, now they treat it as signed. What exactly did that ‘fix’? And
please, give me an example when signed offset would be useful. I was always
curious why did POSIX make it signed…

Expanding the address space is usually painful.
But necessary.

How was anything ‘expanded’ by this? All it did is broke the code that used
mmap() to map some memory above 2Gb. No new capabilities came out of this.
In fact, last I hear they have backed out this change in 6.3…

– igor

Igor Kovalenko wrote:

That was a good one, but not quite on target. The mmap() was not
‘undocumented’. The exact behavior wrt the offset argument was, but once you
establish certain behavior it becomes ‘de-facto standard’ and IMHO you’re
bound to maintain it.

When I remember rigth … also QSSL itself couldn’t maintain it. Some of
their drivers was crashing because of the new behavior of mmap() :slight_smile:


–Armin



Good vendors would even emulate old bugs in new

releases to maintain compatibility (it usually needs to be specifically
enabled by some config parameter).

So no, the cop analogy is not really valid. It is more like passing a new
law that retroactively makes your accepted tax returns from 5 years back
invalid and requiring you to pay late penalties now. If you followed the
story of ‘deprivatization’ of Yukos by russian government, that’s it. Can
they gripe?

– igor

“Chris Herborth” <> cherborth@qnx.com> > wrote in message
news:d5tbm8$8dd$> 1@inn.qnx.com> …

Igor Kovalenko wrote:

Here it is - the QSSL attitude expressed as best as it gets. Whatever
bozos got burned David (and mind you, I was not), they are your
customers. Meaning they paid QSSL so that you can earn your salary.

Would any OS vendor behave differently when modifying the meaning of an
undocumented/reserved/etc. part of the API? These things are generally
undocumented/reserved/etc. because they aren’t defined in a published
spec, and they may change in the future. Developers generally know
they’re taking things into their own hands when they mess with these
undefined bits.

Isn’t your comment like griping at a cop when you get pulled over for
speeding because your taxes “pay” her salary?


Chris Herborth (> cherborth@qnx.com> )
Never send a monster to do the work of an evil scientist.

Hi all

I know this thread is old but I’ve been out sick for a while. But I did
want to throw my two cents in.

We all need to consider several factors.

  • Harman International bought QSSL.
  • Sydney Harman is a profit motivated individual. He runs his companies
    with no emotion whatsoever. When one of those companies stops making money
    he dumps it quickly for whatever he can get for it. I know, I worked for a
    Harman comman company that made good money for years and years. As soon as
    they turned atound a little he sold them for 50 cents on the dollar, hand he
    financed the sale as well.
  • Harman Intl owns many technology companies. Almost all of them have some
    kind of firmware.
  • By buying the whole of QSSL Harman Intl gets unlimited royalty free access
    to all of that software. They also get preferential treatment from the
    software developers.
  • They have demonstrated that they no longer care about “customers”. They
    own QSSL for their own privae use.

So we can argue and complain all day, but they fact is that QSSL DOESN’T
CARE ABOUT CUSTOMERS! Period!

“Robert Krten” <rk@parse.com> wrote in message
news:d5fqeq$6rs$1@inn.qnx.com

Igor Kovalenko <> kovalenko@comcast.net> > wrote:
Dude… I did read your article. You really went out of your way to
teach
people who have only known QNX how to use TCP/IP. I mean all 5 of them
must
have found it really helpful > :wink:

:slight_smile:

Seriously, the article is nice and I don’t mean to put you down. I just
find
it really amusing that someone could have been so blind and ignorant to
the
world outside QNX for so long to need that article now…

Like I said, “the first step is admitting you have a problem…” > :slight_smile:

Cheers,
-RK

Cheers
– igor

“Robert Krten” <> rk@parse.com> > wrote in message
news:d58lfu$qfv$> 1@inn.qnx.com> …
John Nagle <> nagle@downside.com> > wrote:
This is indeed a big problem, and one approached badly
by QSSL. When QNX 6.3 came out, it was not at all clear how much
functionality had been removed from the base package. One
by one, customers had to find out the hard way about the
copy protection, the licensing mess, features removed
from the base package, and which third-party vendors were dropping
QNX support.

Because the QNX market is now so tiny, there are no third party
books or journalists providing objective coverage of these issues.
QNX has fallen off the journalistic radar. (Type “QNX” into
Google News to verify this. Then try “real time Linux”.
Any questions?)

And with the demise of QNX NC and the “Open QNX” effort, there’s
very little entry-level interest. So nobody writes about QNX any
more. Open source programs no longer come with QNX builds. QNX
has become irrelevant outside a very tiny community.

We’ve discovered another side effect to this. Young people
want to avoid QNX. When recruiting, we find that as soon as we
mention that we use QNX, it turns young people off. They see
learning QNX as a dead end with negative career value. In
the last two years, this effect has become quite pronounced.

It’s unfortunate. QNX was a great technology.

See > http://www.parse.com/~rk/kick_resmgr.html > for an amplification
of this…

Cheers,
-RK

John Nagle
Team Overbot

Alain Bonnefoy wrote:
Hello,
This is not the first time I complain that QSSL doesn’t improve its
commercial policy, far from that.

Today again, I didn’t digest the joke about the packages!

This is again with the 6.3 that’s the most obvious and I think that
everyone who had to rebuild a 6.2 Photon’s application in 6.3
should be
today a bit nervous.

Something has changed these last years in QSSL and it seems that
they
no
more take care about their customer’s needs.

Unless I’m the only one to have some applications to maintain for
years
which should be a bit surprising.

That’s said, I cannot understand that QSSL changes a function’s
arguments
list whithout changing its name, that QSSL remove some flags or
some
functions without supplying any workaround.

Keeping the old function just to call the new one with a default
value
for
the supplementary parameter is most of the time possible and won’t
multiply the library size by two!

What should be possible also, is to declare this function as
deprecated,
that’s very easy now with GCC 3, to be removed later but correctly.

What is the most frustrating here is that most of these changes are
not
documented (PtResourceRec_t, PtGenListDrawString,
PtGenListGetColors,
Pt_COMPOUND, etc…). So we have to build the application, evaluate
the
damages, find sometimes in the doc or in the headers what’s wrong,
imagine
or ask to the support for a workaround.

It seems that QSSL doesn’t realize how much time we could waste in
such
operations.

Based on our 6.3 experience, it’s almost sure now that we won’t
take
the
risk to upgrade to the next release.

So, I really hope that QSSL will think a little bit more to their
customers in the future.

Regards,
Alain.

Igor

You hit the nail on the head!

And enough bullshit about cooperation. As far as QNX is concerned
‘cooperation’ means ‘you do free regression testing and problem analysis
for
us and you don’t get any say in our decisions anyway’. If you were giving
it
for free, people would be pissed with that approach. But you’re charging
for
it…

– igor

Hi Bill…

I hope that you are doing well. Welcome back!

Regards…

Miguel.



Bill Caroselli wrote:

Hi all

I know this thread is old but I’ve been out sick for a while. But I did
want to throw my two cents in.

Bill Caroselli wrote:


  • Harman Intl owns many technology companies. Almost all of them have some
    kind of firmware.
  • By buying the whole of QSSL Harman Intl gets unlimited royalty free access
    to all of that software. They also get preferential treatment from the
    software developers.
  • They have demonstrated that they no longer care about “customers”. They
    own QSSL for their own privae use.

So we can argue and complain all day, but they fact is that QSSL DOESN’T
CARE ABOUT CUSTOMERS! Period!

You determined all of this, after only a month of Harman ownership ? (1)

Do you really believe that Harman has sustained their business for over
50 years by purchasing companies for high prices, dropping their
customer base, and then selling them off for a loss ?

Call me crazy, but that just doesn’t sound like a terribly effective
business model in the long term.

Personally, I hope that Harman/Girod do run their corporation with no
emotion as long as they do run it with long term economic outlook. To
me, that’s one of the most important attributes that separates a good
CEO from a bad CEO. A CEO with integrity manages the corporation for
long term success, not what will get him the biggest bonus next year
(anybody watching the news over the last few years knows what happens
when this type of CEO manages a corporation).

A management team that looks out for the long term interests of a
corporation treats their employees, suppliers, shareholders, and (most
especially) their customers well (not because of “emotion” but because
it makes economic sense for the long term viability of the enterprise).

The fact that QNX was purchased for a price that made the Harman share
holders raise their eyebrows, and knowing the potential that QNX (as a
technology) has, leads me to believe that these guys are not out to
impress the short term holders of Harman stock, but to make an
acquisition that maximally contributes to the long term economic success
of Harman International).

(1) If you check out Harmans’ SEC filings you will find that as of the
end of April '05 the sale had not completed (you can also find out all
of the minutiae of the contract - aren’t public companies cool ?)

Rennie

Rennie Allen wrote:

Personally, I hope that Harman/Girod do run their corporation with no
emotion as long as they do run it with long term economic outlook. To
me, that’s one of the most important attributes that separates a good
CEO from a bad CEO. A CEO with integrity manages the corporation for
long term success, not what will get him the biggest bonus next year
(anybody watching the news over the last few years knows what happens
when this type of CEO manages a corporation).

Isn’t that what they teach people in MBA school? Do whatever it takes
to get those huge bonuses, then move on to the next victim?


Chris Herborth (cherborth@qnx.com)
Never send a monster to do the work of an evil scientist.
Monthly QNX newsletter - http://www.qnx.com/news/forms/newsletter.html

Armin Steinhoff wrote:

That’s the reason why middleware like PVM and MPI have been created.
These packages are doing message passing on top of the socket lib.

Or, if you have legacy QNX4 code, or just like the kernel-mediated
message passing, proxies, etc. of QNX, you could use the SRRIPC module
for Linux. It is basically QNX4 message passing, proxies, timers, and
to some degree user-space interrupts for Linux.

Cheers,
Andrew

Andrew Thomas wrote:

Armin Steinhoff wrote:

That’s the reason why middleware like PVM and MPI have been created.
These packages are doing message passing on top of the socket lib.


Or, if you have legacy QNX4 code, or just like the kernel-mediated
message passing, proxies, etc. of QNX, you could use the SRRIPC module
for Linux. It is basically QNX4 message passing, proxies, timers, and
to some degree user-space interrupts for Linux.

None of those do as good a job of message passing as QNX,
because the message passing and scheduling aren’t as well
coupled. SRRIPC takes two copies and an extra trip through
the scheduler to do what QNX does with one copy and one context switch.

SRRIPC was done for the 2.2x Linux kernel, and it’s not
clear how well it works with the 2.6 kernel. It never really
got out of beta, either. You definitely
want a 2.6 Linux kernel for anything even vaguely real-time. That’s
the one with the low-latency fixes.

Still, it’s important to have a migration path from
QNX available. We have to be realistic about the future of QNX
since the acquisition.

John Nagle

John Nagle wrote:

Andrew Thomas wrote:

Armin Steinhoff wrote:

That’s the reason why middleware like PVM and MPI have been created.
These packages are doing message passing on top of the socket lib.



Or, if you have legacy QNX4 code, or just like the kernel-mediated
message passing, proxies, etc. of QNX, you could use the SRRIPC module
for Linux. It is basically QNX4 message passing, proxies, timers, and
to some degree user-space interrupts for Linux.


None of those do as good a job of message passing as QNX,
because the message passing and scheduling aren’t as well
coupled. SRRIPC takes two copies and an extra trip through
the scheduler to do what QNX does with one copy and one context switch.

SRRIPC was done for the 2.2x Linux kernel, and it’s not
clear how well it works with the 2.6 kernel. It never really
got out of beta, either. You definitely
want a 2.6 Linux kernel for anything even vaguely real-time. That’s
the one with the low-latency fixes.

Still, it’s important to have a migration path from
QNX available. We have to be realistic about the future of QNX
since the acquisition.

IMHO … the best migration path is PVM. It is indendent from the kernel
versions.

–Armin


\

            John Nagle

John Nagle wrote:

Andrew Thomas wrote:

Armin Steinhoff wrote:

That’s the reason why middleware like PVM and MPI have been created.
These packages are doing message passing on top of the socket lib.



Or, if you have legacy QNX4 code, or just like the kernel-mediated
message passing, proxies, etc. of QNX, you could use the SRRIPC module
for Linux. It is basically QNX4 message passing, proxies, timers, and
to some degree user-space interrupts for Linux.


None of those do as good a job of message passing as QNX,
because the message passing and scheduling aren’t as well
coupled. SRRIPC takes two copies and an extra trip through
the scheduler to do what QNX does with one copy and one context switch.

SRRIPC was done for the 2.2x Linux kernel, and it’s not
clear how well it works with the 2.6 kernel. It never really
got out of beta, either. You definitely
want a 2.6 Linux kernel for anything even vaguely real-time. That’s
the one with the low-latency fixes.

Still, it’s important to have a migration path from
QNX available.

IMHO … the best migration path is PVM. It is independent from the
kernel versions.

–Armin



We have to be realistic about the future of QNX
since the acquisition.
John Nagle