Grammar/writing question regarding hyphens

Let’s say I have the following phrase:

“A <software term> may be either push-based or pull-based.”

What is the grammatically correct way to change it to:

“A <term> may be either push or pull-based.”

Is it correct as I have written it, or should it be something like “push- or pull-based”?

You can say either:

A <software term> may be either push-based or pull-based.


A <software term> may be either push- or pull-based.

Both are correct.

I’m always partial to the quoted one.

As am I.

As an aside, if you neglect to add the hyphen after “push” (as in Absolute’s second example), you’re essentially saying that the thing is either “push” or it is “pull-based.” What a “push” software item would be is up for debate.