[Live-devel] Which kind of code you would accept?
Ross Finlayson
finlayson at live555.com
Tue Jul 27 23:04:10 PDT 2010
>I'm working on rtsp performance test tool and I
>will produce some code which I'd like to contribute. I know your strict
>opinion on patches, so I'd like to know in advance if you would accept:
I don't have any definitive rules about what sort of patches I
accept. However, the patches that I'm most likely to accept are:
1/ Bugfixes, and
2/ Changes that make it easier for developers to extend the supplied
code via subclassing, rather than forcing them to modify the supplied
code.
The kind of patches that I'm least likely to accept are those that
make changes throughout the code (in several files), especially if
they are mostly cosmetic in nature.
A problem we've had recently is that some people have apparently made
little effort to try to leave the supplied code unchanged. Instead
(perhaps because of laziness, or perhaps because of a lack of
understanding of how C++ subclassing works; I'm not sure), they have
charged ahead and merged the supplied code with their own application
code, making widespread changes to the supplied code. They then want
me to adopt these changes without question (e.g., so that they can
more easily upgrade to new versions of the code), and then throw a
hissy fit if I refuse to do so.
I'm sorry, but that's not the way the code is supposed to be used.
If people have misused the code this way, then I'm not going to
'reward' them by adopting their modifications without question.
Specifically, looking at your suggestions:
> - common Linked List class (linked lists are already used on several places)
> - custom templates (for example function max() )
> - C++ standard library string or custom string class (which one if any)
> - custom command line options parser class
No, I won't be adopting any of these (at least, not anytime soon),
because they don't fix bugs, nor do they improve (or even really
change) the code's API - only its implementation, which developers
shouldn't really be caring about very much (as long as it works).
(I'm also a bit wary about using some of the newer C++ features (such
as templates), because some people's compilers might not support
them. Ditto for 'standard' C++ libraries, which might also make
applications too large for some embedded systems. I like to be a bit
conservative about which features of C++ I use for the "LIVE555
Streaming Media" libraries.)
The things that you mention might be nice for *your* application
code, but they don't have to be also applied to our library code - if
you are using it correctly.
>In addition I found current RTSPClient design difficult for my
>specific needs. So
>I plan to write other implementation.
Go ahead. Of course, you should give your new class a new name - not
"RTSPClient".
--
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
More information about the live-devel
mailing list