Copying IDE Features - Ethical or Not?

I just crossed this discussion on Eclipsezone. Sure, we at NetBeans inspire ourselves from features available in other IDEs. But that's exactly what Eclipse does and other IDEs do, too. Copying some of the ideas may be unethical in general, but concerning IDE features - I think there's nothing really bad about it.

The main point here is that we listen to our users - they tell us "I found this cool feature in Eclipse or IDEA and would love to have it in NetBeans with this and that improvement". Should we ignore such a voice of customer just because it would be considered as copying? I don't think so - not listening to our users means loosing them. So it's better to implement a similar feature + make it better than in the other IDE. As long as it is legally OK, I think it's a wise thing to do.

Ideally, I would like to see NetBeans as the IDE others are getting inspired from :-) This can happen if NetBeans is the IDE which comes up with the really innovative features. From historical point of view, this was the case many years ago when there was no Eclipse. But my impression is that NetBeans is getting back on track with 4.x and 5.x releases - with features like Matisse, ant-based project system, new CVS support + areas some other IDEs don't cover out of box like J2EE, J2ME, profiling, developer collaboration, etc. I wonder when we'll see Matisse re-implemented in other IDEs...

There is nothing wrong with emulating or "copying" features. Can you imagine if cars didn't have intermitten wipers or electric windows or adjustiable seats? The goal is to do it better so you see electric seats with memorized positions for multiple drivers and stuff like that.

This is what competition breeds.

Posted by David on září 16, 2005 at 09:01 dop. CEST #

David, I like your example with cars. We should use it next time anyone complains we're "copying" something :-)

Posted by Roumen on září 16, 2005 at 09:08 dop. CEST #

I think the whole discussion is kind of silly. I mean if we don't support feature XYZ, people say: "NetBeans is bad because it doesn't support feature XYZ". Then, when we do support feature XZY, people say: "NetBeans is bad because it supports a feature that Eclipe/IDEA/IntelliJ also supports." It doesn't make sense.

Posted by Geertjan on září 16, 2005 at 10:26 dop. CEST #

Yes, Geertjan, the important difference is that it's users who complain if we don't have feature XYZ and it's competitors who complain if we copied something. So I think it's obvious who to listen to... :-)

Posted by Roumen on září 16, 2005 at 10:29 dop. CEST #

But wait !!!

Am I using NetBeans in the hope that it will become an Eclipse or IDEA clone?

No way!!

I started to use NetBeans because it had features I was looking for, eg integrated web developpement with debugging, and I would have to pay big money to have that anywhere else.

Everytime I see comments on NetBeans not having a feature XYZ which another IDE already have, I just say to myself ... normal its NetBeans not the other IDE. And worst, most of those comments say they can't find how to do something .... Is it just because it does not have the same shortcut (...exageration perhaps...;-) ) as the other IDE?

Now, I'm still using NetBeans (and will for awhile) and I welcome new features, be it original or a copycat of a competitor... But I do prefer original features with original implementation. NetBeans was original, and now it has competition on those features that made it original.

I think we won't get new user by implementing features that other IDE already have (out of the box or through the use of a plugin), eg the error strip and code folding. Mainly because it will only be good as point of comparison. At best, we will keep the current user base from lurking at the other IDE.

But we can drive interest toward NetBeans by implementing original features. Web development modules were such features. Today I think the profiling module and the mobility pack are those with greatest potential (\*). But to stay out of the croud, NetBeans will definitely need new idea.

Finally is copying feature is good or bad? Maybe it is necessary... but, from my point of view, to drive innovation. Copying only to get the feature is bad in the long term. But looking at how a feature can be improved, and find another way to provide equivalent - or richer - information can only be better.

Hum... not sure my point went straight...

(\*)Of course I don't mean that everything else is irrelevant. In an IDE like those we see these days, every feature is important and relevant and have great impact on the way we do our work.

Posted by Hugues on září 16, 2005 at 07:25 odp. CEST #

I agree that in developer's point of view it might seem a bit unethical but as previous comments declared that it is just a good thing in the user's point of view. I am professionally developing on the .NET platform and I would be very willing to see many NetBeans IDE's features in Visual Studio and visa versa. I would be more than happy to see UML modeling tool integrated into NetBeans IDE and integrated unit testing and refactoring in Visual Studio.

Posted by Tommi Laukkanen on září 18, 2005 at 03:23 dop. CEST #

All good thoughts. I especially agree that the IDEs need to be original - either by coming up with completely new features or at least copy innovatively. Nobody would benefit from having three or more IDEs which would all work the same.

On the other it is good if the very basic and most widely used features are available and work quite similar in every IDE - it is then easier to switch and avoid user lock-in. This is important now for NetBeans, also because NetBeans has smaller market share then Eclipse (the good news is that NetBeans user base is rapidly growing) - we need to offer an easy path to migrate.

The real added value comes in depth and intelligence of these features, in ease of use, consistency of UI and so forth. You can bring for example a lot of innovation by integrating the features together (like the new CVS) or by using different concepts (like Matisse). Of course providing new original functionality is important, but it's not the only thing to do.

I think that in this process the most important thing is to listen to the community - what users really want. Copying a bad feature doesn't help anyone. But if there are many voices asking for it (and there are reasons why they need it), it's a good thing to do.

I agree that copying features may not be very ethical towards their developers. But this is something they need to reconcile with, I think.

Posted by Roumen on září 18, 2005 at 03:58 odp. CEST #

About UML - there is UML support in Creator and Java Sun Studio. Jonathan Schwartz keeps saying Sun will do more and more opensource - maybe UML modules would be good adepts...

Posted by Roumen on září 18, 2005 at 04:07 odp. CEST #

Post a Comment:
Comments are closed for this entry.

Roman Strobl


« červenec 2016