Re: [openstack-dev] Remove vim modelines?

2013-10-29 Thread Joe Gordon
So after over 20 messages in this thread, now what?

From my count we have 3 -, and 12 +1s.  Is that enough for consensus? Do we
move modelines lines to the bottom?  Put them in every file? Or just remove
them?

https://review.openstack.org/#/q/status:open+project:openstack/nova+branch:master+topic:noboilerplate,n,z
https://review.openstack.org/#/c/51295/


On Mon, Oct 28, 2013 at 10:54 AM, Joe Gordon joe.gord...@gmail.com wrote:




 On Mon, Oct 28, 2013 at 9:35 AM, Alexis Lee alex...@hp.com wrote:

 As a new OpenStack contributor, +1 for lower barriers to entry. It's
 helpful for OS to inform editor style and I don't believe in the
 arguments to remove them.

  Why remove them?
  * we could shrink our codebase by a little bit.

 Why do you want to shrink it? Simplify, sure, but modelines are not
 code (not Python anyway). Even so, it's only one line per file.

  * Modelines aren't supported by default in debian or ubuntu due to
  security reasons: https://wiki.python.org/moin/Vim

 As I believe with many Vim users, my .vimrc greatly predates my
 involvement with OpenStack and it reflects my personal preferences (like
 Termie's). I really wouldn't rely on the defaults surviving initial user
 contact.

  * Having modelines for vim means if someone wants we should support
  modelines for emacs
  (
 http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Specifying-File-Variables
 )

 I don't see a problem supporting Emacs, as the other major UNIX editor.
 The slippery slope runs dry very quickly after that, I don't see gedit
 users petitioning for inclusion (no offense intended to any gedit
 devotees!).

 Alternatively Emacs users as self-proclaimed users of the bestest editor
 ever could just install: https://github.com/cinsk/emacs-vim-modeline
 and brag about how flexible their editor is.


  * There are other ways of making sure tabstop is set correctly for
  python files, see  https://wiki.python.org/moin/Vim.  I am a vIm user
  myself and have never used modelines.

 I am a Vim user and frequently use modelines! I like that they 'stick'
 to files so even if a file gets separated from its project, the modeline
 remains.


 From an OpenStack point of view, that is not an issue.  If a file gets
 separated then why should we worry about if it has a pep8 friendly tabstop?



 If I wanted to work on a project with style contrary to OpenStack's, I'd
 need to write project-specific autocommands. It feels right to me that
 if a project requires specific style, it should gate it (as OS does) and
 provide some informative help as well (the modelines).


 We don't just gate without telling people, the first two items in hacking
 are read pep8

 http://docs.openstack.org/developer/hacking/



 OS could provide a vim script to set up project-specific style but this
 fails the barrier-to-entry test.

  * We have vim modelines in only 828 out of 1213 python files in nova
  (68%), so if anyone is using modelines today, then it only works 68% of
  the time in nova

 Then we should fix that, in accordance with OS style guidelines.
 It's also possible those are the high-touch files?


 As of writing this email we don't OS style guidelines (hacking) don't
 require vim modelines.  This thread is trying to resolve this.



  * Why have the same config 828 times for one repo alone?  This
  violates the DRY principle (Don't Repeat Yourself).

 Because afaik there's no standard way to inform editors of
 project-specific style guidelines. Plus previously mentioned benefit of
 stickiness.


 PEP8 is hardly project specific.





 John Dennis said on Fri, Oct 25, 2013 at 04:12:35PM -0400:
  Emacs... requires the per file variables to be the 1st line . So don't
  see how vim and emacs specifications will coexist nicely and stay that
  way consistently.

 What's the problem? Vim has no such limitation, Emacs can have 1st line
 + Vim 2nd.

  My personal feeling is you need to have enough awareness to configure
  your editor correctly to contribute to a project. It's your
  responsibility and our gate tools will hold you to that promise.

 That's not very welcoming. If a project want to be particular about
 its style, it has a responsibilty to not just gate but also assist in
 following that style.


 We do try to make it easy to follow the style. Its fully documented here
 http://docs.openstack.org/developer/hacking/.  Also the modeline we use
 is hardly enough to follow the style (80 char limit, spacing between
 functions, between classes etc.) And we provide several ways for a user to
 run the full set of style tests locally.

 * Install hacking locally (pip install hacking), and run 'flake8' - which
 has a really nice vim plugin too  (https://github.com/nvie/vim-flake8)
 * Just run 'tox -epep8'



 I should mention that not long ago I spent a good half day reading
 OpenStack materials on this is how things must be done, too long imho.

  Let's just remove the mode lines, they really don't belong in every
 file.

 Let's just 

Re: [openstack-dev] Remove vim modelines?

2013-10-29 Thread Robert Collins
On 28 October 2013 23:54, Joe Gordon joe.gord...@gmail.com wrote:


 We don't just gate without telling people, the first two items in hacking
 are read pep8

 http://docs.openstack.org/developer/hacking/

The gate is super useful, but it's reactive, not proactive. And good
documentation isn't a replacement for just doing the right thing.


  * Why have the same config 828 times for one repo alone?  This
  violates the DRY principle (Don't Repeat Yourself).

 Because afaik there's no standard way to inform editors of
 project-specific style guidelines. Plus previously mentioned benefit of
 stickiness.


 PEP8 is hardly project specific.

The definition of PEP8 is (moderately) global. The choice to use PEP8
is project specific.


 That's not very welcoming. If a project want to be particular about
 its style, it has a responsibilty to not just gate but also assist in
 following that style.

 We do try to make it easy to follow the style. Its fully documented here
 http://docs.openstack.org/developer/hacking/.  Also the modeline we use is
 hardly enough to follow the style (80 char limit, spacing between functions,
 between classes etc.) And we provide several ways for a user to run the full
 set of style tests locally.

Documentation isn't the same as helping. Yes, it's true that the modeline isn't
sufficient, but it does get some of the key variation project
guidelines tend to have: spaces and tabs.


-Rob


-- 
Robert Collins rbtcoll...@hp.com
Distinguished Technologist
HP Converged Cloud

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] Remove vim modelines?

2013-10-29 Thread Joe Gordon
On Tue, Oct 29, 2013 at 11:17 AM, Robert Collins
robe...@robertcollins.netwrote:

 On 28 October 2013 23:54, Joe Gordon joe.gord...@gmail.com wrote:


  We don't just gate without telling people, the first two items in hacking
  are read pep8
 
  http://docs.openstack.org/developer/hacking/

 The gate is super useful, but it's reactive, not proactive. And good
 documentation isn't a replacement for just doing the right thing.


And what is the right thing?  From what you have said my understand is that
the correct thing is: To keep the barrier to entry for new developers as
low as possible by including modelines in every file so that anyone who
uses vim and uses modelines have the correct tabstop etc. But this isn't
enough to pass gate (
http://www.python.org/dev/peps/pep-0008/#whitespace-in-expressions-and-statements
etc),
so unless someone runs flake8 or 'tox -epep8' locally they will still end
up with the gate failing them. So I don't think the current state of
modelines reduces the barrier to entry in a meaningful way (At the very
least, if we keep them they should be on every file).




   * Why have the same config 828 times for one repo alone?  This
   violates the DRY principle (Don't Repeat Yourself).
 
  Because afaik there's no standard way to inform editors of
  project-specific style guidelines. Plus previously mentioned benefit of
  stickiness.
 
 
  PEP8 is hardly project specific.

 The definition of PEP8 is (moderately) global. The choice to use PEP8
 is project specific.


Yup, That is why I didn't say 'everyone uses PEP8,' when using PEP8 I was
referring to the definition (and not even the python library).




  That's not very welcoming. If a project want to be particular about
  its style, it has a responsibilty to not just gate but also assist in
  following that style.
 
  We do try to make it easy to follow the style. Its fully documented here
  http://docs.openstack.org/developer/hacking/.  Also the modeline we use
 is
  hardly enough to follow the style (80 char limit, spacing between
 functions,
  between classes etc.) And we provide several ways for a user to run the
 full
  set of style tests locally.

 Documentation isn't the same as helping. Yes, it's true that the modeline
 isn't
 sufficient, but it does get some of the key variation project
 guidelines tend to have: spaces and tabs.



 -Rob


 --
 Robert Collins rbtcoll...@hp.com
 Distinguished Technologist
 HP Converged Cloud

 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] Remove vim modelines?

2013-10-29 Thread Andrew Laski

On 10/29/13 at 10:53am, Joe Gordon wrote:

So after over 20 messages in this thread, now what?

From my count we have 3 -, and 12 +1s.  Is that enough for consensus? Do we
move modelines lines to the bottom?  Put them in every file? Or just remove
them?


I have no strong feeling either way on keeping or removing them.  But if 
they're going to be removed from individual files it may be helpful to 
add one in the HACKING.rst text.  Not as a modeline but as guidance on 
configuring vim.  And examples could be added for other editors if 
that's desired.





https://review.openstack.org/#/q/status:open+project:openstack/nova+branch:master+topic:noboilerplate,n,z
https://review.openstack.org/#/c/51295/


On Mon, Oct 28, 2013 at 10:54 AM, Joe Gordon joe.gord...@gmail.com wrote:





On Mon, Oct 28, 2013 at 9:35 AM, Alexis Lee alex...@hp.com wrote:


As a new OpenStack contributor, +1 for lower barriers to entry. It's
helpful for OS to inform editor style and I don't believe in the
arguments to remove them.

 Why remove them?
 * we could shrink our codebase by a little bit.

Why do you want to shrink it? Simplify, sure, but modelines are not
code (not Python anyway). Even so, it's only one line per file.

 * Modelines aren't supported by default in debian or ubuntu due to
 security reasons: https://wiki.python.org/moin/Vim

As I believe with many Vim users, my .vimrc greatly predates my
involvement with OpenStack and it reflects my personal preferences (like
Termie's). I really wouldn't rely on the defaults surviving initial user
contact.

 * Having modelines for vim means if someone wants we should support
 modelines for emacs
 (
http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Specifying-File-Variables
)

I don't see a problem supporting Emacs, as the other major UNIX editor.
The slippery slope runs dry very quickly after that, I don't see gedit
users petitioning for inclusion (no offense intended to any gedit
devotees!).

Alternatively Emacs users as self-proclaimed users of the bestest editor
ever could just install: https://github.com/cinsk/emacs-vim-modeline
and brag about how flexible their editor is.




 * There are other ways of making sure tabstop is set correctly for
 python files, see  https://wiki.python.org/moin/Vim.  I am a vIm user
 myself and have never used modelines.

I am a Vim user and frequently use modelines! I like that they 'stick'
to files so even if a file gets separated from its project, the modeline
remains.



From an OpenStack point of view, that is not an issue.  If a file gets
separated then why should we worry about if it has a pep8 friendly tabstop?




If I wanted to work on a project with style contrary to OpenStack's, I'd
need to write project-specific autocommands. It feels right to me that
if a project requires specific style, it should gate it (as OS does) and
provide some informative help as well (the modelines).



We don't just gate without telling people, the first two items in hacking
are read pep8

http://docs.openstack.org/developer/hacking/




OS could provide a vim script to set up project-specific style but this
fails the barrier-to-entry test.

 * We have vim modelines in only 828 out of 1213 python files in nova
 (68%), so if anyone is using modelines today, then it only works 68% of
 the time in nova

Then we should fix that, in accordance with OS style guidelines.
It's also possible those are the high-touch files?



As of writing this email we don't OS style guidelines (hacking) don't
require vim modelines.  This thread is trying to resolve this.




 * Why have the same config 828 times for one repo alone?  This
 violates the DRY principle (Don't Repeat Yourself).

Because afaik there's no standard way to inform editors of
project-specific style guidelines. Plus previously mentioned benefit of
stickiness.



PEP8 is hardly project specific.






John Dennis said on Fri, Oct 25, 2013 at 04:12:35PM -0400:
 Emacs... requires the per file variables to be the 1st line . So don't
 see how vim and emacs specifications will coexist nicely and stay that
 way consistently.

What's the problem? Vim has no such limitation, Emacs can have 1st line
+ Vim 2nd.

 My personal feeling is you need to have enough awareness to configure
 your editor correctly to contribute to a project. It's your
 responsibility and our gate tools will hold you to that promise.

That's not very welcoming. If a project want to be particular about
its style, it has a responsibilty to not just gate but also assist in
following that style.



We do try to make it easy to follow the style. Its fully documented here
http://docs.openstack.org/developer/hacking/.  Also the modeline we use
is hardly enough to follow the style (80 char limit, spacing between
functions, between classes etc.) And we provide several ways for a user to
run the full set of style tests locally.

* Install hacking locally (pip install hacking), and run 'flake8' - which
has a really nice vim plugin too  

Re: [openstack-dev] Remove vim modelines?

2013-10-29 Thread David Stanek
On Thu, Oct 24, 2013 at 2:48 PM, Robert Collins
robe...@robertcollins.netwrote:


 *) They help casual contributors *more* than long time core
 contributors : and those are the folk that are most likely to give up
 and walk away. Keeping barriers to entry low is an important part of
 making OpenStack development accessible to new participants.


I'm not sure I buy the low barrier to entry in this case.  We could easily
provide a more comprehensive vimscript snippet that experienced vim users
can include into their vimrc.  Not only that, but we can do the same for
any other editor.  If a user is not familiar with vim, I don't think we
can/should do much to teach users how to use their editor.

-- 
David
blog: http://www.traceback.org
twitter: http://twitter.com/dstanek
www: http://dstanek.com
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] Remove vim modelines?

2013-10-28 Thread Alexis Lee
As a new OpenStack contributor, +1 for lower barriers to entry. It's
helpful for OS to inform editor style and I don't believe in the
arguments to remove them.

 Why remove them?
 * we could shrink our codebase by a little bit.

Why do you want to shrink it? Simplify, sure, but modelines are not
code (not Python anyway). Even so, it's only one line per file.

 * Modelines aren't supported by default in debian or ubuntu due to
 security reasons: https://wiki.python.org/moin/Vim

As I believe with many Vim users, my .vimrc greatly predates my
involvement with OpenStack and it reflects my personal preferences (like
Termie's). I really wouldn't rely on the defaults surviving initial user
contact.

 * Having modelines for vim means if someone wants we should support
 modelines for emacs
 (http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Specifying-File-Variables)

I don't see a problem supporting Emacs, as the other major UNIX editor.
The slippery slope runs dry very quickly after that, I don't see gedit
users petitioning for inclusion (no offense intended to any gedit
devotees!).

Alternatively Emacs users as self-proclaimed users of the bestest editor
ever could just install: https://github.com/cinsk/emacs-vim-modeline
and brag about how flexible their editor is.

 * There are other ways of making sure tabstop is set correctly for
 python files, see  https://wiki.python.org/moin/Vim.  I am a vIm user
 myself and have never used modelines.

I am a Vim user and frequently use modelines! I like that they 'stick'
to files so even if a file gets separated from its project, the modeline
remains.

If I wanted to work on a project with style contrary to OpenStack's, I'd
need to write project-specific autocommands. It feels right to me that
if a project requires specific style, it should gate it (as OS does) and
provide some informative help as well (the modelines).

OS could provide a vim script to set up project-specific style but this
fails the barrier-to-entry test.

 * We have vim modelines in only 828 out of 1213 python files in nova
 (68%), so if anyone is using modelines today, then it only works 68% of
 the time in nova

Then we should fix that, in accordance with OS style guidelines.
It's also possible those are the high-touch files?

 * Why have the same config 828 times for one repo alone?  This
 violates the DRY principle (Don't Repeat Yourself).

Because afaik there's no standard way to inform editors of
project-specific style guidelines. Plus previously mentioned benefit of
stickiness.


John Dennis said on Fri, Oct 25, 2013 at 04:12:35PM -0400:
 Emacs... requires the per file variables to be the 1st line . So don't
 see how vim and emacs specifications will coexist nicely and stay that
 way consistently.

What's the problem? Vim has no such limitation, Emacs can have 1st line
+ Vim 2nd.

 My personal feeling is you need to have enough awareness to configure
 your editor correctly to contribute to a project. It's your
 responsibility and our gate tools will hold you to that promise.

That's not very welcoming. If a project want to be particular about
its style, it has a responsibilty to not just gate but also assist in
following that style.

I should mention that not long ago I spent a good half day reading
OpenStack materials on this is how things must be done, too long imho.

 Let's just remove the mode lines, they really don't belong in every file.

Let's just leave them. It's a big change, some people like them and the
benefits of removal are minimal at best.


Alexis
-- 
Nova Engineer, HP Cloud.  AKA lealexis, lxsli.

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] Remove vim modelines?

2013-10-26 Thread Ruslan Kiianchuk
If someone takes effort to learn Vim to the point when he/she develops code
in it, they most definitely have their preferred settings already, why
overwrite them? If those settings conflict with the style guide -- it has
been said, pep8 and hacking check will notify.

I always thought that leaving some hints to text editor by adding specific
content to file content is just a dirty hack -- files should not be editor
agnostic, the editor should be smart enough to figure everything out by
himself. And yeah, also a happy Vim user for 4 years.

Replacing the long paragraph with a short response:
+1, remove them :)


On Fri, Oct 25, 2013 at 4:45 PM, Vishvananda Ishaya
vishvana...@gmail.comwrote:

 Interesting Background Information:

 Why do we have modelines?

 Termie put them in all the files of the first version of nova

 Why did he put in modelines instead of configuring his editor?

 Termie does a lot of python coding and he prefers a tabstop of 2 on all
 his personal projects[1]

 I really don't see much value outside of people who prefer other tabstops

 +1 to remove them

 Vish

 [1] https://github.com/termie/git-bzr-ng/blob/master/git-bzr
 On Oct 24, 2013, at 5:38 AM, Joe Gordon joe.gord...@gmail.com wrote:

 Since the beginning of OpenStack we have had vim modelines all over the
 codebase, but after seeing this patch
 https://review.opeenstack.org/#/c/50891/https://review.openstack.org/#/c/50891/I
  took a further look into vim modelines and think we should remove them.
 Before going any further, I should point out these lines don't bother me
 too much but I figured if we could get consensus, then we could shrink our
 codebase by a little bit.

 Sidenote: This discussion is being moved to the mailing list because it 'would
 be better to have a mailing list thread about this rather than bits and
 pieces of discussion in gerrit' as this change requires multiple patches.
  https://review.openstack.org/#/c/51295/.


 Why remove them?

 * Modelines aren't supported by default in debian or ubuntu due to
 security reasons: https://wiki.python.org/moin/Vim
 * Having modelines for vim means if someone wants we should support
 modelines for emacs (
 http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Specifying-File-Variables)
 etc. as well.  And having a bunch of headers for different editors in each
 file seems like extra overhead.
 * There are other ways of making sure tabstop is set correctly for python
 files, see  https://wiki.python.org/moin/Vim.  I am a vIm user myself and
 have never used modelines.
 * We have vim modelines in only 828 out of 1213 python files in nova
 (68%), so if anyone is using modelines today, then it only works 68% of the
 time in nova
 * Why have the same config 828 times for one repo alone?  This violates
 the DRY principle (Don't Repeat Yourself).


 Related Patches:
 https://review.openstack.org/#/c/51295/

 https://review.openstack.org/#/q/status:open+project:openstack/nova+branch:master+topic:noboilerplate,n,z

 best,
 Joe
 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev




-- 
Sincerely, Ruslan Kiianchuk.
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] Remove vim modelines?

2013-10-25 Thread Dan Prince
-1

Slight preference for keeping them. I personally would go the other way and 
just add them everywhere.

- Original Message -
 From: Joe Gordon joe.gord...@gmail.com
 To: OpenStack Development Mailing List openstack-dev@lists.openstack.org
 Sent: Thursday, October 24, 2013 8:38:57 AM
 Subject: [openstack-dev]  Remove vim modelines?
 
 Since the beginning of OpenStack we have had vim modelines all over the
 codebase, but after seeing this patch
 https://review.opeenstack.org/#/c/50891/https://review.openstack.org/#/c/50891/I
 took a further look into vim modelines and think we should remove
 them.
 Before going any further, I should point out these lines don't bother me
 too much but I figured if we could get consensus, then we could shrink our
 codebase by a little bit.

I'm not sure removing these counts as a meaningful codebase reduction. These 
lines can mostly be ignored. Likewise, If the foundation required us to double 
or triple our Apache license headers I would count that as a codebase increase.

 
 Sidenote: This discussion is being moved to the mailing list because it
 'would
 be better to have a mailing list thread about this rather than bits and
 pieces of discussion in gerrit' as this change requires multiple patches.
 https://review.openstack.org/#/c/51295/.
 
 
 Why remove them?
 
 * Modelines aren't supported by default in debian or ubuntu due to security
 reasons: https://wiki.python.org/moin/Vim
 * Having modelines for vim means if someone wants we should support
 modelines for emacs (
 http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Specifying-File-Variables)
 etc. as well.  And having a bunch of headers for different editors in each
 file seems like extra overhead.
 * There are other ways of making sure tabstop is set correctly for python
 files, see  https://wiki.python.org/moin/Vim.  I am a vIm user myself and
 have never used modelines.
 * We have vim modelines in only 828 out of 1213 python files in nova (68%),
 so if anyone is using modelines today, then it only works 68% of the time
 in nova
 * Why have the same config 828 times for one repo alone?  This violates the
 DRY principle (Don't Repeat Yourself).
 
 
 Related Patches:
 https://review.openstack.org/#/c/51295/
 https://review.openstack.org/#/q/status:open+project:openstack/nova+branch:master+topic:noboilerplate,n,z
 
 best,
 Joe
 
 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
 

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] Remove vim modelines?

2013-10-25 Thread Joe Gordon
On Oct 25, 2013 12:24 PM, Dan Prince dpri...@redhat.com wrote:

 -1

 Slight preference for keeping them. I personally would go the other way
and just add them everywhere.

May I ask why? Do you use the modeline?


 - Original Message -
  From: Joe Gordon joe.gord...@gmail.com
  To: OpenStack Development Mailing List 
openstack-dev@lists.openstack.org
  Sent: Thursday, October 24, 2013 8:38:57 AM
  Subject: [openstack-dev]  Remove vim modelines?
 
  Since the beginning of OpenStack we have had vim modelines all over the
  codebase, but after seeing this patch
  https://review.opeenstack.org/#/c/50891/
https://review.openstack.org/#/c/50891/I
  took a further look into vim modelines and think we should remove
  them.
  Before going any further, I should point out these lines don't bother me
  too much but I figured if we could get consensus, then we could shrink
our
  codebase by a little bit.

 I'm not sure removing these counts as a meaningful codebase reduction.
These lines can mostly be ignored. Likewise, If the foundation required us
to double or triple our Apache license headers I would count that as a
codebase increase.

 
  Sidenote: This discussion is being moved to the mailing list because it
  'would
  be better to have a mailing list thread about this rather than bits and
  pieces of discussion in gerrit' as this change requires multiple
patches.
  https://review.openstack.org/#/c/51295/.
 
 
  Why remove them?
 
  * Modelines aren't supported by default in debian or ubuntu due to
security
  reasons: https://wiki.python.org/moin/Vim
  * Having modelines for vim means if someone wants we should support
  modelines for emacs (
 
http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Specifying-File-Variables
)
  etc. as well.  And having a bunch of headers for different editors in
each
  file seems like extra overhead.
  * There are other ways of making sure tabstop is set correctly for
python
  files, see  https://wiki.python.org/moin/Vim.  I am a vIm user myself
and
  have never used modelines.
  * We have vim modelines in only 828 out of 1213 python files in nova
(68%),
  so if anyone is using modelines today, then it only works 68% of the
time
  in nova
  * Why have the same config 828 times for one repo alone?  This violates
the
  DRY principle (Don't Repeat Yourself).
 
 
  Related Patches:
  https://review.openstack.org/#/c/51295/
 
https://review.openstack.org/#/q/status:open+project:openstack/nova+branch:master+topic:noboilerplate,n,z
 
  best,
  Joe
 
  ___
  OpenStack-dev mailing list
  OpenStack-dev@lists.openstack.org
  http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
 

 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] Remove vim modelines?

2013-10-25 Thread Paul Nelson
After reading the article Joe linked https://wiki.python.org/moin/Vim I
created a python.vim in my ~/.vim/ftplugin directory. I also have tabstop
defaults set in my .vimrc for global defaults that are different from
python preferences. So I get to keep my preferences for other stuff while
making python indentation correct.

+1 to removing the lines entirely.


On Fri, Oct 25, 2013 at 11:20 AM, Joe Gordon joe.gord...@gmail.com wrote:


 On Oct 25, 2013 12:24 PM, Dan Prince dpri...@redhat.com wrote:
 
  -1
 
  Slight preference for keeping them. I personally would go the other way
 and just add them everywhere.

 May I ask why? Do you use the modeline?

 
  - Original Message -
   From: Joe Gordon joe.gord...@gmail.com
   To: OpenStack Development Mailing List 
 openstack-dev@lists.openstack.org
   Sent: Thursday, October 24, 2013 8:38:57 AM
   Subject: [openstack-dev]  Remove vim modelines?
  
   Since the beginning of OpenStack we have had vim modelines all over the
   codebase, but after seeing this patch
   https://review.opeenstack.org/#/c/50891/
 https://review.openstack.org/#/c/50891/I
   took a further look into vim modelines and think we should remove
   them.
   Before going any further, I should point out these lines don't bother
 me
   too much but I figured if we could get consensus, then we could shrink
 our
   codebase by a little bit.
 
  I'm not sure removing these counts as a meaningful codebase reduction.
 These lines can mostly be ignored. Likewise, If the foundation required us
 to double or triple our Apache license headers I would count that as a
 codebase increase.
 
  
   Sidenote: This discussion is being moved to the mailing list because it
   'would
   be better to have a mailing list thread about this rather than bits and
   pieces of discussion in gerrit' as this change requires multiple
 patches.
   https://review.openstack.org/#/c/51295/.
  
  
   Why remove them?
  
   * Modelines aren't supported by default in debian or ubuntu due to
 security
   reasons: https://wiki.python.org/moin/Vim
   * Having modelines for vim means if someone wants we should support
   modelines for emacs (
  
 http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Specifying-File-Variables
 )
   etc. as well.  And having a bunch of headers for different editors in
 each
   file seems like extra overhead.
   * There are other ways of making sure tabstop is set correctly for
 python
   files, see  https://wiki.python.org/moin/Vim.  I am a vIm user myself
 and
   have never used modelines.
   * We have vim modelines in only 828 out of 1213 python files in nova
 (68%),
   so if anyone is using modelines today, then it only works 68% of the
 time
   in nova
   * Why have the same config 828 times for one repo alone?  This
 violates the
   DRY principle (Don't Repeat Yourself).
  
  
   Related Patches:
   https://review.openstack.org/#/c/51295/
  
 https://review.openstack.org/#/q/status:open+project:openstack/nova+branch:master+topic:noboilerplate,n,z
  
   best,
   Joe
  
   ___
   OpenStack-dev mailing list
   OpenStack-dev@lists.openstack.org
   http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
  
 
  ___
  OpenStack-dev mailing list
  OpenStack-dev@lists.openstack.org
  http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] Remove vim modelines?

2013-10-25 Thread Dolph Mathews
On Thu, Oct 24, 2013 at 1:48 PM, Robert Collins
robe...@robertcollins.netwrote:


 *) They help casual contributors *more* than long time core
 contributors : and those are the folk that are most likely to give up
 and walk away. Keeping barriers to entry low is an important part of
 making OpenStack development accessible to new participants.


This is an interesting point. My reasoning for removing them was that I've
never seen *anyone* working to maintain them, or to add them to files where
they're missing. However, I suspect that the users benefiting from them
simply aren't deeply enough involved with the project to notice or care
about the inconsistency? I'm all for low barriers of entry, so if there's
any evidence that this is true, I'd want to make them more prolific.

-Dolph
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] Remove vim modelines?

2013-10-25 Thread Dolph Mathews
On Fri, Oct 25, 2013 at 2:43 PM, Robert Collins
robe...@robertcollins.netwrote:

 On 26 October 2013 08:40, Dolph Mathews dolph.math...@gmail.com wrote:
 
  On Thu, Oct 24, 2013 at 1:48 PM, Robert Collins 
 robe...@robertcollins.net
  wrote:
 
 
  *) They help casual contributors *more* than long time core
  contributors : and those are the folk that are most likely to give up
  and walk away. Keeping barriers to entry low is an important part of
  making OpenStack development accessible to new participants.
 
 
  This is an interesting point. My reasoning for removing them was that
 I've
  never seen *anyone* working to maintain them, or to add them to files
 where
  they're missing. However, I suspect that the users benefiting from them
  simply aren't deeply enough involved with the project to notice or care
  about the inconsistency?

 Thats my hypothesis too.

  I'm all for low barriers of entry, so if there's
  any evidence that this is true, I'd want to make them more prolific.

 I'm not sure how to gather evidence for this, either for or against ;(.


If we removed them, we might see an uptick in whitespace PEP8 violations.
Alternatively, compare the number of historical whitespace violations in
files with modelines vs those without.

Collecting the data for either of those sound like more work than just
adding the modelines to files where they are missing.


 -Rob

 --
 Robert Collins rbtcoll...@hp.com
 Distinguished Technologist
 HP Converged Cloud

 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev




-- 

-Dolph
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] Remove vim modelines?

2013-10-25 Thread Dean Troyer
On Fri, Oct 25, 2013 at 2:43 PM, Robert Collins
robe...@robertcollins.netwrote:

 On 26 October 2013 08:40, Dolph Mathews dolph.math...@gmail.com wrote:
 I'm all for low barriers of entry, so if there's
  any evidence that this is true, I'd want to make them more prolific.

 I'm not sure how to gather evidence for this, either for or against ;(.


We do have a captive audience in a week or so to do unscientific room-temp
surveys. Asking a question or two at the end of some sessions would at
least give us a data point broader than ML participants.

Who would be resistant to enforcing removal modelines?
Who would be resistant to enforcing addition of modelines?
Who doesn't know or care what a modeline is?

For the record, I don't mind these things as long as they are at the end of
the file.

dt

-- 

Dean Troyer
dtro...@gmail.com
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] Remove vim modelines?

2013-10-25 Thread John Dennis
On 10/25/2013 03:43 PM, Robert Collins wrote:
 On 26 October 2013 08:40, Dolph Mathews dolph.math...@gmail.com wrote:

 On Thu, Oct 24, 2013 at 1:48 PM, Robert Collins robe...@robertcollins.net
 wrote:


 *) They help casual contributors *more* than long time core
 contributors : and those are the folk that are most likely to give up
 and walk away. Keeping barriers to entry low is an important part of
 making OpenStack development accessible to new participants.


 This is an interesting point. My reasoning for removing them was that I've
 never seen *anyone* working to maintain them, or to add them to files where
 they're missing. However, I suspect that the users benefiting from them
 simply aren't deeply enough involved with the project to notice or care
 about the inconsistency?
 
 Thats my hypothesis too.
 
 I'm all for low barriers of entry, so if there's
 any evidence that this is true, I'd want to make them more prolific.
 
 I'm not sure how to gather evidence for this, either for or against ;(.

vim and it's cousins constitutes only a subset of popular editors. Emacs
is quite popular and it requires different syntax and requires the per
file variables to be the 1st line (or the 2nd line if there is a shell
interpreter line on the 1st line). In Emacs you can also use Local
Variables comments at the end of the file (a location many will not see
or cause to move during editing). So don't see how vim and emacs
specifications will coexist nicely and stay that way consistently.

And what about other editors? Where do you stop?

My personal feeling is you need to have enough awareness to configure
your editor correctly to contribute to a project. It's your
responsibility and our gate tools will hold you to that promise.

Let's just remove the mode lines, they really don't belong in every file.


-- 
John

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] Remove vim modelines?

2013-10-25 Thread Vishvananda Ishaya
Interesting Background Information:

Why do we have modelines?

Termie put them in all the files of the first version of nova

Why did he put in modelines instead of configuring his editor?

Termie does a lot of python coding and he prefers a tabstop of 2 on all his 
personal projects[1]

I really don't see much value outside of people who prefer other tabstops

+1 to remove them

Vish

[1] https://github.com/termie/git-bzr-ng/blob/master/git-bzr
On Oct 24, 2013, at 5:38 AM, Joe Gordon joe.gord...@gmail.com wrote:

 Since the beginning of OpenStack we have had vim modelines all over the 
 codebase, but after seeing this patch 
 https://review.opeenstack.org/#/c/50891/ I took a further look into vim 
 modelines and think we should remove them. Before going any further, I should 
 point out these lines don't bother me too much but I figured if we could get 
 consensus, then we could shrink our codebase by a little bit.
 
 Sidenote: This discussion is being moved to the mailing list because it 
 'would be better to have a mailing list thread about this rather than bits 
 and pieces of discussion in gerrit' as this change requires multiple patches. 
  https://review.openstack.org/#/c/51295/.
 
 
 Why remove them?
 
 * Modelines aren't supported by default in debian or ubuntu due to security 
 reasons: https://wiki.python.org/moin/Vim
 * Having modelines for vim means if someone wants we should support modelines 
 for emacs 
 (http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Specifying-File-Variables)
  etc. as well.  And having a bunch of headers for different editors in each 
 file seems like extra overhead.
 * There are other ways of making sure tabstop is set correctly for python 
 files, see  https://wiki.python.org/moin/Vim.  I am a vIm user myself and 
 have never used modelines.
 * We have vim modelines in only 828 out of 1213 python files in nova (68%), 
 so if anyone is using modelines today, then it only works 68% of the time in 
 nova
 * Why have the same config 828 times for one repo alone?  This violates the 
 DRY principle (Don't Repeat Yourself).
 
 
 Related Patches:
 https://review.openstack.org/#/c/51295/
 https://review.openstack.org/#/q/status:open+project:openstack/nova+branch:master+topic:noboilerplate,n,z
 
 best,
 Joe
 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] Remove vim modelines?

2013-10-24 Thread Monty Taylor


On 10/24/2013 08:38 AM, Joe Gordon wrote:
 Since the beginning of OpenStack we have had vim modelines all over the
 codebase, but after seeing this
 patch https://review.opeenstack.org/#/c/50891/
 https://review.openstack.org/#/c/50891/ I took a further look into vim
 modelines and think we should remove them. Before going any further, I
 should point out these lines don't bother me too much but I figured if
 we could get consensus, then we could shrink our codebase by a little bit.
 
 Sidenote: This discussion is being moved to the mailing list because it
 'would be better to have a mailing list thread about this rather than
 bits and pieces of discussion in gerrit' as this change requires
 multiple patches.  https://review.openstack.org/#/c/51295/.
 
 
 Why remove them?
 
 * Modelines aren't supported by default in debian or ubuntu due to
 security reasons: https://wiki.python.org/moin/Vim
 * Having modelines for vim means if someone wants we should support
 modelines for emacs
 (http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Specifying-File-Variables)
 etc. as well.  And having a bunch of headers for different editors in
 each file seems like extra overhead.
 * There are other ways of making sure tabstop is set correctly for
 python files, see  https://wiki..python.org/moin/Vim
 https://wiki.python.org/moin/Vim.  I am a vIm user myself and have
 never used modelines.
 * We have vim modelines in only 828 out of 1213 python files in nova
 (68%), so if anyone is using modelines today, then it only works 68% of
 the time in nova
 * Why have the same config 828 times for one repo alone?  This violates
 the DRY principle (Don't Repeat Yourself).
 
 
 Related Patches:
 https://review.openstack.org/#/c/51295/
 https://review.openstack.org/#/q/status:open+project:openstack/nova+branch:master+topic:noboilerplate,n,z

I agree with everything - both not caring about this topic really, and
that we should just kill them and be done with it. Luckily, this is a
suuper easy global search and replace.

Also, since we gate on pep8, if your editor is configured incorrectly,
you'll figure it out soon enough.

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] Remove vim modelines?

2013-10-24 Thread Davanum Srinivas
+1 to remove them.

-- dims

On Thu, Oct 24, 2013 at 8:44 AM, Monty Taylor mord...@inaugust.com wrote:


 On 10/24/2013 08:38 AM, Joe Gordon wrote:
 Since the beginning of OpenStack we have had vim modelines all over the
 codebase, but after seeing this
 patch https://review.opeenstack.org/#/c/50891/
 https://review.openstack.org/#/c/50891/ I took a further look into vim
 modelines and think we should remove them. Before going any further, I
 should point out these lines don't bother me too much but I figured if
 we could get consensus, then we could shrink our codebase by a little bit.

 Sidenote: This discussion is being moved to the mailing list because it
 'would be better to have a mailing list thread about this rather than
 bits and pieces of discussion in gerrit' as this change requires
 multiple patches.  https://review.openstack.org/#/c/51295/.


 Why remove them?

 * Modelines aren't supported by default in debian or ubuntu due to
 security reasons: https://wiki.python.org/moin/Vim
 * Having modelines for vim means if someone wants we should support
 modelines for emacs
 (http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Specifying-File-Variables)
 etc. as well.  And having a bunch of headers for different editors in
 each file seems like extra overhead.
 * There are other ways of making sure tabstop is set correctly for
 python files, see  https://wiki..python.org/moin/Vim
 https://wiki.python.org/moin/Vim.  I am a vIm user myself and have
 never used modelines.
 * We have vim modelines in only 828 out of 1213 python files in nova
 (68%), so if anyone is using modelines today, then it only works 68% of
 the time in nova
 * Why have the same config 828 times for one repo alone?  This violates
 the DRY principle (Don't Repeat Yourself).


 Related Patches:
 https://review.openstack.org/#/c/51295/
 https://review.openstack.org/#/q/status:open+project:openstack/nova+branch:master+topic:noboilerplate,n,z

 I agree with everything - both not caring about this topic really, and
 that we should just kill them and be done with it. Luckily, this is a
 suuper easy global search and replace.

 Also, since we gate on pep8, if your editor is configured incorrectly,
 you'll figure it out soon enough.

 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



-- 
Davanum Srinivas :: http://davanum.wordpress.com

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] Remove vim modelines?

2013-10-24 Thread Flavio Percoco

On 24/10/13 13:38 +0100, Joe Gordon wrote:

Since the beginning of OpenStack we have had vim modelines all over the
codebase, but after seeing this patch https://review.opeenstack.org/#/c/50891/
I took a further look into vim modelines and think we should remove them.
Before going any further, I should point out these lines don't bother me too
much but I figured if we could get consensus, then we could shrink our codebase
by a little bit.

Sidenote: This discussion is being moved to the mailing list because it 'would
be better to have a mailing list thread about this rather than bits and pieces
of discussion in gerrit' as this change requires multiple patches.  https://
review.openstack.org/#/c/51295/.


Why remove them?

* Modelines aren't supported by default in debian or ubuntu due to security
reasons: https://wiki.python.org/moin/Vim
* Having modelines for vim means if someone wants we should support modelines
for emacs (http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#
Specifying-File-Variables) etc. as well.  And having a bunch of headers for
different editors in each file seems like extra overhead.
* There are other ways of making sure tabstop is set correctly for python
files, see  https://wiki.python.org/moin/Vim.  I am a vIm user myself and have
never used modelines.
* We have vim modelines in only 828 out of 1213 python files in nova (68%), so
if anyone is using modelines today, then it only works 68% of the time in nova
* Why have the same config 828 times for one repo alone?  This violates the DRY
principle (Don't Repeat Yourself).


Related Patches:
https://review.openstack.org/#/c/51295/
https://review.openstack.org/#/q/status:open+project:openstack/
nova+branch:master+topic:noboilerplate,n,z




/me is a vim user!

+1 on removing those lines!


best,
Joe



___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



--
@flaper87
Flavio Percoco

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] Remove vim modelines?

2013-10-24 Thread Yuriy Taraday
+1 on the topic

How about we catch them in hacking so that they won't ever come back?


On Thu, Oct 24, 2013 at 4:53 PM, Davanum Srinivas dava...@gmail.com wrote:

 +1 to remove them.

 -- dims

 On Thu, Oct 24, 2013 at 8:44 AM, Monty Taylor mord...@inaugust.com
 wrote:
 
 
  On 10/24/2013 08:38 AM, Joe Gordon wrote:
  Since the beginning of OpenStack we have had vim modelines all over the
  codebase, but after seeing this
  patch https://review.opeenstack.org/#/c/50891/
  https://review.openstack.org/#/c/50891/ I took a further look into
 vim
  modelines and think we should remove them. Before going any further, I
  should point out these lines don't bother me too much but I figured if
  we could get consensus, then we could shrink our codebase by a little
 bit.
 
  Sidenote: This discussion is being moved to the mailing list because it
  'would be better to have a mailing list thread about this rather than
  bits and pieces of discussion in gerrit' as this change requires
  multiple patches.  https://review.openstack.org/#/c/51295/.
 
 
  Why remove them?
 
  * Modelines aren't supported by default in debian or ubuntu due to
  security reasons: https://wiki.python.org/moin/Vim
  * Having modelines for vim means if someone wants we should support
  modelines for emacs
  (
 http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Specifying-File-Variables
 )
  etc. as well.  And having a bunch of headers for different editors in
  each file seems like extra overhead.
  * There are other ways of making sure tabstop is set correctly for
  python files, see  https://wiki..python.org/moin/Vim
  https://wiki.python.org/moin/Vim.  I am a vIm user myself and have
  never used modelines.
  * We have vim modelines in only 828 out of 1213 python files in nova
  (68%), so if anyone is using modelines today, then it only works 68% of
  the time in nova
  * Why have the same config 828 times for one repo alone?  This violates
  the DRY principle (Don't Repeat Yourself).
 
 
  Related Patches:
  https://review.openstack.org/#/c/51295/
 
 https://review.openstack.org/#/q/status:open+project:openstack/nova+branch:master+topic:noboilerplate,n,z
 
  I agree with everything - both not caring about this topic really, and
  that we should just kill them and be done with it. Luckily, this is a
  suuper easy global search and replace.
 
  Also, since we gate on pep8, if your editor is configured incorrectly,
  you'll figure it out soon enough.
 
  ___
  OpenStack-dev mailing list
  OpenStack-dev@lists.openstack.org
  http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



 --
 Davanum Srinivas :: http://davanum.wordpress.com

 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev




-- 

Kind regards, Yuriy.
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] Remove vim modelines?

2013-10-24 Thread David Ripton

On 10/24/2013 08:38 AM, Joe Gordon wrote:


Why remove them?

* Modelines aren't supported by default in debian or ubuntu due to
security reasons: https://wiki.python.org/moin/Vim
* Having modelines for vim means if someone wants we should support
modelines for emacs
(http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Specifying-File-Variables)
etc. as well.  And having a bunch of headers for different editors in
each file seems like extra overhead.
* There are other ways of making sure tabstop is set correctly for
python files, see https://wiki.python.org/moin/Vim.  I am a vIm user
myself and have never used modelines.
* We have vim modelines in only 828 out of 1213 python files in nova
(68%), so if anyone is using modelines today, then it only works 68% of
the time in nova
* Why have the same config 828 times for one repo alone?  This violates
the DRY principle (Don't Repeat Yourself).


Another +1 from a Vim user.  These patches are No Fun to review, so 
anyone who wants these gone, please pitch in.


--
David Ripton   Red Hat   drip...@redhat.com

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] Remove vim modelines?

2013-10-24 Thread Morgan Fainberg
+1 and likely this should be added to hacking so they don't sneak back in
by accident / reviewers missing the line since we've had them for do long.

On Thursday, October 24, 2013, Flavio Percoco wrote:

 On 24/10/13 13:38 +0100, Joe Gordon wrote:

 Since the beginning of OpenStack we have had vim modelines all over the
 codebase, but after seeing this patch https://review.opeenstack.org/**
 #/c/50891/ https://review.opeenstack.org/#/c/50891/
 I took a further look into vim modelines and think we should remove them.
 Before going any further, I should point out these lines don't bother me
 too
 much but I figured if we could get consensus, then we could shrink our
 codebase
 by a little bit.

 Sidenote: This discussion is being moved to the mailing list because it
 'would
 be better to have a mailing list thread about this rather than bits and
 pieces
 of discussion in gerrit' as this change requires multiple patches.
  https://
 review.openstack.org/#/c/**51295/http://review.openstack.org/#/c/51295/
 .


 Why remove them?

 * Modelines aren't supported by default in debian or ubuntu due to
 security
 reasons: https://wiki.python.org/moin/**Vimhttps://wiki.python.org/moin/Vim
 * Having modelines for vim means if someone wants we should support
 modelines
 for emacs (http://www.gnu.org/software/**emacs/manual/html_mono/emacs.**
 html# http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#
 Specifying-File-Variables) etc. as well.  And having a bunch of headers
 for
 different editors in each file seems like extra overhead.
 * There are other ways of making sure tabstop is set correctly for python
 files, see  
 https://wiki.python.org/moin/**Vimhttps://wiki.python.org/moin/Vim.
  I am a vIm user myself and have
 never used modelines.
 * We have vim modelines in only 828 out of 1213 python files in nova
 (68%), so
 if anyone is using modelines today, then it only works 68% of the time in
 nova
 * Why have the same config 828 times for one repo alone?  This violates
 the DRY
 principle (Don't Repeat Yourself).


 Related Patches:
 https://review.openstack.org/#**/c/51295/https://review.openstack.org/#/c/51295/
 https://review.openstack.org/#**/q/status:open+project:**openstack/https://review.openstack.org/#/q/status:open+project:openstack/
 nova+branch:master+topic:**noboilerplate,n,z



 /me is a vim user!

 +1 on removing those lines!

  best,
 Joe


  __**_
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/**cgi-bin/mailman/listinfo/**openstack-devhttp://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



 --
 @flaper87
 Flavio Percoco

 __**_
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/**cgi-bin/mailman/listinfo/**openstack-devhttp://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] Remove vim modelines?

2013-10-24 Thread Robert Collins
I guess I get to buck the trend :).

On 25 October 2013 01:38, Joe Gordon joe.gord...@gmail.com wrote:
 Since the beginning of OpenStack we have had vim modelines all over the
 codebase, but after seeing this patch
 https://review.opeenstack.org/#/c/50891/ I took a further look into vim
 modelines and think we should remove them. Before going any further, I
 should point out these lines don't bother me too much but I figured if we
 could get consensus, then we could shrink our codebase by a little bit.

 Sidenote: This discussion is being moved to the mailing list because it
 'would be better to have a mailing list thread about this rather than bits
 and pieces of discussion in gerrit' as this change requires multiple
 patches.  https://review.openstack.org/#/c/51295/.

I don't deeply care about them, but I think the logic being used to
promote their removal is flawed.

 Why remove them?

 * Modelines aren't supported by default in debian or ubuntu due to security
 reasons: https://wiki.python.org/moin/Vim

This affects folk who haven't turned it on. We have no idea about how
many that is. The presumption is that if it's off by default everyone
has it off - but one of the first things most folk end up doing with
vim as they head down the path to poweruser is customing their
vimrc...

 * Having modelines for vim means if someone wants we should support
 modelines for emacs
 (http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Specifying-File-Variables)
 etc. as well.  And having a bunch of headers for different editors in each
 file seems like extra overhead.

This is a slippery slope argument. We could equally say 'it's up to
the editors to support our style declaration, use a vim-compatible
plugin in your editor'. We can also say 'we'll directly support the
three most common editors' and gather data on that from our developer
surveys. (We /do/ gather developer data don't we? :) ).

 * There are other ways of making sure tabstop is set correctly for python
 files, see  https://wiki.python.org/moin/Vim.  I am a vIm user myself and
 have never used modelines.

The other ways won't help folk that

 * We have vim modelines in only 828 out of 1213 python files in nova (68%),
 so if anyone is using modelines today, then it only works 68% of the time in
 nova

That seems like a reason to add it to all files to me ;).

 * Why have the same config 828 times for one repo alone?  This violates the
 DRY principle (Don't Repeat Yourself).

The same argument applies to copyright licences, .py file suffixes and
common imports.
I do agree that the repeated unchanging nature of modelines is
suboptimal, and it would be
nice to be able to define the style hints to vim for an entire subtree.

This is probably possible through a little bit of scripting.

Since you skipped it, I should add a case for pushing modelines everywhere.

*) They help everyone when editing files where the format is less well
known than Python (.yaml for instance) or our style guide doesn't
match a global document (shell scripts, docbook).

*) They help casual contributors *more* than long time core
contributors : and those are the folk that are most likely to give up
and walk away. Keeping barriers to entry low is an important part of
making OpenStack development accessible to new participants.

*) We can move them to the very end of the file where ~nobody will see them.

*) We can teach hacking to enforce a specific modeline per file type,
avoiding accidental mistakes.

*) Possibly we can move the copyright licence grants to the end of the
files as well, making opening our source code up much more pleasant.

Cheers,
Rob


-- 
Robert Collins rbtcoll...@hp.com
Distinguished Technologist
HP Converged Cloud

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev