Some programs will take options like this:
$ someprogram -orange apple
And other programs will use something like this:
$ otherprogram --orange apple
Is there a "rule" or convention for this in Linux/Unix/OSX?
The most common is GNU
Most Windows programs use their own parsers, driving users mad.
Generally the first is found in older programs which are too well entrenched to change. Those kind of long options are incompatible with the standard
The second style was introduced by GNU